中秋献礼|Apache ShardingSphere 5.2.0 发布

Apache ShardingSphere 自 6 月底发布 5.1.2 版本以来,历时两个多月,社区持续优化和增强功能,共合并了来自全球的团队和个人累计 1728 个 PR,为大家带来了全面增强的 5.2.0 版本,新版本在功能、性能、测试、文档、示例等方面都进行了大量的优化。此外,shardingsphere-on-cloud 子项目仓库的建立,也标志着 ShardingSphere 云原生的步伐不断加速迈进,欢迎对 Go、Database、Cloud 感兴趣的同学参与 shardingsphere-on-cloud 社区!

本次发布的 5.2.0 版本带来了如下新亮点:

  • 数据分片 SQL 审计功能

  • 数据弹性迁移

  • SQL 执行进程管理

  • shardingsphere-on-cloud 子项目上线

新增的数据分片 SQL 审计以及 MySQL SHOW PROCESSLIST & KILL 语句是针对运行 SQL 进行管理的新特性,能够加强用户对 ShardingSphere 的管理能力。SQL 审计功能能够辅助用户进行必要的 SQL 审计管理,避免非法低效的 SQL 对业务系统造成影响。MySQL SHOW PROCESSLIST & KILL 特性则允许用户通过 SHOW PROCESSLIST 语句快速查看当前执行的 SQL,并针对慢 SQL 进行强制取消。

除了增强用户对 ShardingSphere 的管理能力之外,新版本还增加了数据弹性迁移的功能,支持从 Oracle、MySQL、PostgreSQL 迁移数据到 ShardingSphere + MySQL 或 PostgreSQL 组成的分布式数据库生态中,完成从单点数据库向分布式数据库的转换。ShardingSphere 社区会在后续的版本支持更多的异构数据库迁移功能,欢迎大家关注并参与。

本次 5.2.0 版本还将 ShardingSphere 仓库中的 Helm Charts 转移到子项目 shardingsphere-on-cloud 中,旨在为正在寻找分布式数据库上云的用户提供 ShardingSphere + MySQL 或 PostgreSQL 的云上分布式数据库解决方案。5.2.0 版本大量提升了不同数据库的 SQL 解析支持度,完善了 DistSQL 参数使用规范,ShardingSphere 运行模式则移除了 Memory 运行模式,分布式事务支持了跨多个逻辑库的事务功能,本文将给大家介绍 ShardingSphere 5.2.0 版本的更新内容。

新亮点介绍

  • 数据分片 SQL 审计

在大规模的数据分片场景下,如果用户执行了不带分片条件的 SQL 查询,此时 SQL 查询会全路由到底层数据库上执行,将导致大量的数据库连接被占用,出现超时等严重影响业务的问题,如果用户执行的是 UPDATE/DELETE 操作,则可能导致大批量的数据被错误更新和删除。

为了解决这些业务场景中存在的问题,ShardingSphere 5.2.0 版本提供了数据分片 SQL 审计功能,允许用户配置审计策略,策略中可以指定多个审计算法及是否允许禁用审计规则,任意一个审计算法不通过则会禁止 SQL 执行,如下展示了数据分片 SQL 审计的配置。

rules:
- !SHARDING
  tables:
    t_order:
      actualDataNodes: ds_${0..1}.t_order_${0..1}
      tableStrategy:
        standard:
          shardingColumn: order_id
          shardingAlgorithmName: t_order_inline
      auditStrategy:
        auditorNames:
          - sharding_key_required_auditor
        allowHintDisable: true
  defaultAuditStrategy:
    auditorNames:
      - sharding_key_required_auditor
    allowHintDisable: true

  auditors:
    sharding_key_required_auditor:
      type: DML_SHARDING_CONDITIONS

考虑到业务场景的复杂性,数据分片 SQL 审计功能允许用户通过 SQL Hint 的方式,对审计算法进行动态禁用,以支持部分场景下允许操作的业务 SQL 执行。目前,ShardingSphere 5.2.0 内置了 DML 禁止全路由审计 算法,用户也可以自行实现 ShardingAuditAlgorithm 接口,实现更高级的 SQL 审计功能。

/* ShardingSphere hint: disableAuditNames=sharding_key_required_auditor */ 
SELECT * FROM t_order;
  • 数据弹性迁移

数据迁移一直是 ShardingSphere 社区关注的重点功能,在 5.2.0 版本前,用户执行数据迁移需要先将外部表添加为单分片的分片表,然后通过修改分片规则触发迁移,这种使用方式对于普通用户来说过于复杂且难以理解。为了提升数据迁移功能的易用性,ShardingSphere 5.2.0 版本提供了全新的数据迁移功能,并搭配弹性迁移的 DistSQL,可以让用户通过 SQL-Like 的方式一体化完成从已有的单点数据库迁移到 ShardingSphere + MySQL 或 PostgreSQL 组成的分布式数据库系统中,实现从单点数据库向分布式数据库的转换。

语句

说明

示例

MIGRATE TABLE ds.schema.table INTO table

从源端迁移到目标端

MIGRATE TABLE ds_0.public.t_order INTO t_order

SHOW MIGRATION LIST

查询运行列表

SHOW MIGRATION LIST

SHOW MIGRATION STATUS jobId

查询作业状态

SHOW MIGRATION STATUS 1234

STOP MIGRATION jobId

停止作业

STOP MIGRATION 12345

START MIGRATION jobId

开启停止的作业

START MIGRATION 1234

CHECK MIGRATION jobId

数据一致性校验

CHECK MIGRATION 1234

SHOW MIGRATION CHECK ALGORITHMS

展示可用的一致性校验算法

SHOW MIGRATION CHECK ALGORITHMS

CHECK MIGRATION jobId (by type(name=algorithmTypeName)?

数据一致性校验,使用指定的校验算法

CHECK MIGRATION 1234 by type(name="DATA_MATCH”)

ROLLBACK MIGRATION jobId

撤销作业。注意:该语句会清理目标端表,请谨慎操作

ROLLBACK MIGRATION 1234

COMMIT MIGRATION jobId

完成作业

COMMIT MIGRATION 1234

此外,弹性迁移还支持了将 Oracle 数据迁移至 PostgreSQL 的功能,用户通过 DistSQL 先创建分片规则和分片表,即新的分布式库表,然后执行 MIGRATE TABLE ds.schema.table INTO table 触发数据迁移。在迁移过程中,还可以使用表格中的数据迁移专用 DistSQL 对迁移作业状态、数据一致性进行管理。更多关于数据迁移新功能的使用和说明可以参考官方文档数据迁移(https://shardingsphere.apache.org/document/current/cn/user-manual/shardingsphere-proxy/migration/)。

  • SQL 执行进程管理

原生 MySQL 数据库提供了 SHOW PROCESSLIST 语句,允许用户查看当前运行中的线程,对于那些执行时间过长或者需要临时终止的 SQL,用户可以通过 KILL 语句来杀掉线程。

4a716f374b49bea569d4c96487ae6feb.png

SHOW PROCESSLIST 和 KILL 语句在日常运维管理中有着广泛地使用,为了增强用户对 ShardingSphere 的管理能力,5.2.0 版本支持了 MySQL SHOW PROCESSLIST 和 KILL 语句。用户通过 ShardingSphere 执行 DDL/DML 语句时,ShardingSphere 会自动生成唯一的 UUID 标识作为 ID,并将 SQL 执行信息存储在各个实例中。

下图展示了 ShardingSphere 中执行 SHOW PROCESSLIST 和 KILL 语句的结果。当用户执行 SHOW PROCESSLIST 语句时,ShardingSphere 会根据当前的运行模式来处理 SQL 执行信息,如果当前运行模式是集群模式,ShardingSphere 会通过治理中心收集并同步各个计算节点的 SQL 执行信息,然后汇总返回给用户。如果当前运行模式是单机模式,ShardingSphere 则只返回当前计算节点中的 SQL 执行信息。用户根据 SHOW PROCESSLIST 返回的结果,判断是否需要执行 KILL 语句,ShardingSphere 会根据 KILL 语句中的 ID 取消正在执行中的 SQL。

d78ae37bf28165aa161ba05a9b894761.png

  • shardingsphere-on-cloud 子项目上线

Shardingsphere-on-cloud 是 Apache ShardingSphere 面向云的解决方案项目,目前已发布 v0.1.0 版本,并经过投票正式成为 Apache ShardingSphere 的子项目。

shardingsphere-on-cloud 会不断发布对于 Apache ShardingSphere 在云上的各种配置模板,部署脚本等自动化工具,打磨在高可用、数据迁移、可观测性、影子库、安全审计等方面的最佳工程实践,优化 Helm Charts 交付方式,通过 Kubernetes Operator 持续增强云原生管控能力等。目前项目仓库中已有一些入门 issue,帮助对 Go、Database、Cloud 感兴趣的同学快速参与。

已有能力提升

内核

本次更新,ShardingSphere 社区持续优化了不同数据库的 SQL 解析,大大提升了 ShardingSphere 的 SQL 兼容能力,在更新日志部分可以看到详细的 SQL 解析优化内容。SQL 解析支持度提升是 ShardingSphere 社区的长期重点任务,欢迎感兴趣的同学参与进来,一起提升 SQL 解析支持度。

5.2.0 版本还支持了 MySQL、Oracle、SQL Server 和 H2 数据库列可见特性,用于满足用户系统升级过程中业务 SQL 兼容的需要。读写分离功能支持了笛卡尔积配置方式,通过笛卡尔积配置,可以极大简化用户的配置。

接入端

在 5.2.0 版本中,ShardingSphere-Proxy 支持了监听指定 IP 地址,并默认集成了 openGauss 数据库驱动。ShardingSphere-JDBC 则支持了使用 c3p0 数据源,以及支持 Connection.prepareStatement 指定 columns。

分布式事务

分布式事务在本次更新中,将原有逻辑库级别的事务管理器,调整为全局事务管理器,用于支持跨多个逻辑库的分布式事务。同时,去除了通过 XA 语句控制分布式事务的功能,由 ShardingSphere 自动完成 XA 事务的管理,降低了用户使用分布式事务的复杂度。

更新日志

以下为 ShardingSphere 5.2.0 的全部更新日志,为了提升用户的使用体验,本次更新中调整了部分功能的 API,调整项具体参考本文更新日志的 API 调整部分。

新特性

  • 内核:支持 Sharding 分片功能 SQL 审计

  • 内核:支持 MySQL show processlist 和 kill process list id 功能

  • 弹性伸缩:新增数据迁移专用 DistSQL

  • 弹性伸缩:异构迁移基础版

  • DistSQL:新语法 `CREATE/ALTER/SHOW MIGRATION PROCESS CONFIGURATION`

  • DistSQL:新语法 `ALTER MIGRATION PROCESS CONFIGURATION`

  • DistSQL:新语法 `SHOW MIGRATION PROCESS CONFIGURATION`

  • DistSQL:新语法 `ADD MIGRATION SOURCE RESOURCE`

  • DistSQL:新语法 `SHOW SQL_TRANSLATOR RULE`

  • DistSQL:新语法 `CREATE SHARDING AUDITOR`

  • DistSQL:新语法 `ALTER SHARDING AUDITOR`

  • DistSQL:新语法 `SHOW SHARDING AUDIT ALGORITHMS`

优化

  • 内核:支持 MySQL、Oracle、SQL Server 和 H2 数据库列可见特性

  • 内核:支持读写分离笛卡尔积配置配置方式

  • 内核:支持 sql translator spring namespace, spring boot 接入方式

  • 内核:IntervalShardingAlgorithm 支持 JSR-310 年月

  • 内核:广播表支持 update/delete limit 语句

  • 内核:支持加密场景下 create index on table(column) 语句改写

  • 内核:支持 sharding,readwrite-splitting 场景下 openGauss cursor,fetch,move,close 语句

  • 内核:支持加密场景下谓词中 column is null 语句改写

  • 内核:支持加密场景下 show create table 语句结果归并

  • 内核:支持加密场景下 create table 语句包含 index 改写

  • 内核:支持 PostgreSQL create operator 语句解析

  • 内核:支持 PostgreSQL create materialized view 语句解析

  • 内核:支持 PostgreSQL 嵌套注释解析

  • 内核:支持 PostgreSQL alter subscription 语句解析

  • 内核:支持 PostgreSQL create group 语句解析

  • 内核:支持 PostgreSQL alter statictics 语句解析

  • 内核:支持 PostgreSQL create foreign table 语句解析

  • 内核:支持 PostgreSQL alter server table 语句解析

  • 内核:支持 PostgreSQL create foreign data wrapper 语句解析

  • 内核:支持 PostgreSQL create event trigger 语句解析

  • 内核:支持 PostgreSQL security label 语句解析

  • 内核:支持 PostgreSQL reindex statement 语句解析

  • 内核:支持 PostgreSQL reassign owned 和 refresh materialized view 语句解析

  • 内核:支持 PostgreSQL prepare transaction 语句解析

  • 内核:支持 PostgreSQL create collation 语句解析

  • 内核:支持 PostgreSQL lock 语句解析

  • 内核:支持 PostgreSQL alter rule 语句解析

  • 内核:支持 PostgreSQL notify 语句解析

  • 内核:支持 PostgreSQL unlisten 语句解析

  • 内核:支持 Oracle alter function and alter hierarchy 语句解析

  • 内核:支持 Oracle alter pluggable database 语句解析

  • 内核:支持 Oracle alter materialized view log 语句解析

  • 内核:支持 Oracle alter diskgroup 语句解析

  • 内核:支持 Oracle alter operator 语句解析

  • 内核:支持 Oracle alter cluster 语句解析

  • 内核:支持 Oracle alter audit policy 语句解析

  • 内核:支持 Oracle alter index type 语句解析

  • 内核:支持 Oracle lock table 语句解析

  • 内核:支持 Oracle alter java 语句解析

  • 内核:支持 Oracle inline constraint 语句解析

  • 内核:支持 openGauss geometric operator 语句解析

  • 内核:优化 MySQL create/alter table 语句中的 visible/invisible 列解析

  • 内核:支持 MySQL SET 语句中以 @@ 为前缀的变量范围解析

  • 内核:支持 MySQL create procedure 包含 create view 语句解析

  • 内核:支持 MySQL,Oracle,SQL Server create index on table 语句 column 解析

  • 内核:支持 sharding,readwrite-splitting 场景下 openGauss cursor,fetch,move,close 语句

  • 内核:支持加密场景下谓词中 column is null 语句改写

  • 内核:支持加密场景下 show create table 语句结果归并

  • 内核:支持加密场景下 create table 语句包含 index 改写

  • 内核:支持 Oracle ALTER LOCKDOWN PROFILE 语句解析

  • 内核:支持 Oracle ALTER MATERIALIZED VIEW 语句解析

  • 内核:支持 Oracle ALTER MATERIALIZED ZONEMAP 语句解析

  • 内核:支持 Oracle ALTER LIBRARY 语句解析

  • 内核:支持 Oracle ALTER INMEMORY JOIN GROUP 语句解析

  • 内核:支持 Oracle DROP OPERATOR 语句解析

  • 内核:支持 Oracle DROP RESTORE POINT 语句解析

  • 内核:支持 Oracle CREATE RESTORE POINT 语句解析

  • 内核:支持 Oracle DROP INMEMORY JOIN GROUP 语句解析

  • 内核:支持 MySQL create_bit_xor_table 语句解析

  • 内核:支持 MySQL DO 语句解析

  • 内核:支持 openGauss DropServer 语句解析

  • 内核:支持 openGauss CREATE AGGREGATE 语句解析

  • 内核:支持 openGauss ALTER ROUTINE 语句解析

  • 内核:支持 PostgreSQL Create Cast 语句解析

  • 内核:支持 PostgreSQL Create Aggregate 语句解析

  • 内核:支持 PostgreSQL fetch/move/close cursor 语句解析

  • 内核:支持 PostgreSQL ALTER PUBLICATION 语句解析

  • 内核:支持 PostgreSQL Create Access Method 语句解析

  • 内核:支持 PostgreSQL ALTER POLICY 语句解析

  • 内核:支持 PostgreSQL ALTER OPERATOR 语句解析

  • 内核:支持 PostgreSQL Copy 语句解析

  • 内核:支持 PostgreSQL Comment 语句解析

  • 内核:支持 PostgreSQL listen 语句解析

  • 内核:支持 PostgreSQL DECLARE cursor 语句解析

  • 接入端:为 helm 添加 server config 的默认值

  • 接入端:使用 openGauss 数据源无需手动添加驱动

  • 接入端:ShardingSphere-Proxy 支持监听指定 IP 地址

  • 接入端:MySQL Proxy 支持 COM_STMT_SEND_LONG_DATA

  • 接入端:MySQL Proxy 执行 SELECT VERSION() 支持指定别名

  • 接入端:修复 openGauss 客户端无法连接没有数据源的 ShardingSphere-Proxy

  • 接入端:ShardingSphere-Proxy 启动脚本支持使用 JAVA_HOME 变量定义的 JRE

  • 接入端:ShardingSphere-Proxy 发生 OOM 后能够返回错误信息以避免客户端阻塞

  • 接入端:ShardingSphere-JDBC 支持使用 c3p0 数据源

  • 接入端:MySQL Proxy 执行 SET NAMES 支持被双引号包裹的字符集名称

  • 接入端:ShardingSphere-JDBC Connection.prepareStatement 支持指定 columns

  • 弹性伸缩:改进 MySQL connect 和 reconnect 的逻辑

  • 弹性伸缩:修复 mysql json 字段在迁移中可能会出现内存泄漏的问题

  • 弹性伸缩:增加 PostgreSQL 数据源的权限检查

  • 弹性伸缩:增量迁移支持 MySQL MGR 环境

  • 弹性伸缩:优化 job 进度持久化

  • 弹性伸缩:start job 改为同步返回

  • 弹性伸缩:全量迁移兼容同时存在主键和唯一键的表

  • 弹性伸缩:关闭 job 的时候关闭底层 ejob

  • 弹性伸缩:优化 PG/OG 逻辑复制槽名称生成

  • 弹性伸缩:scaling 查询 DistSQL 不用预先选择 DB

  • DistSQL:SHOW INSTANCE LIST & SHOW INSTANCE INFO 的结果中增加 worker_id

  • DistSQL:优化 `EXPORT DATABASE CONFIG` 的输出结果

  • DistSQL:`FORMAT SQL` 支持更多方言类型

  • DistSQL:优化 `CREATE TRAFFIC RULE` 执行逻辑

  • DistSQL:读写分离 RDL 中增加可选参数 `writeDataSourceQueryEnabled`

  • DistSQL:加密规则中支持配置 `assistEncryptor`

  • DistSQL:`CREATE SHARDING TABLE RULE` 增加算法类型校验

  • 分布式治理:支持数据库发现同一逻辑库下配置多组高可用

  • 分布式治理:支持 ShardingSphere-Proxy 空逻辑库下启动

  • 分布式治理:支持根据实例隔离 EventBus 事件

  • 分布式治理:支持数据库发现主节点发生变化重启探测心跳任务

  • 分布式治理:支持 集群模式下 ShardingSphere-Proxy 重新注册时生成新的 worker-id

  • 影子库:执行 insert 时在阴影列中插入表达式值时抛出异常

  • 分布式事务:支持跨多个逻辑库的分布式事务

  • 分布式事务:支持在 XA 事务中执行 PostgreSQL truncate 语句

  • 分布式事务:DistSQL 支持修改本地事务 Rule

  • 分布式事务:支持全局事务管理器

  • 分布式事务:移除通过 XA 语句控制分布式事务的功能

问题修复

  • 内核:修复过滤 DataSourceContainedRule 导致的单表元数据刷新错误

  • 内核:修复 MySQL blob 类型为空导致的解析异常

  • 内核:修复 PostgreSQL/openGauss reset 语句解析异常

  • 内核:修复 Sharding 和 Encrypt 混合使用时参数改写异常

  • 内核:修复 IntervalShardingAlgorithm 月份相关类的转换异常

  • 内核:修复执行 select union 包含子查询时的空指针异常

  • 内核:修复元数据 column 顺序错误导致的 encrypt 改写异常

  • 内核:修复 MySQL trim 函数解析异常

  • 内核:修复 MySQL insert 语句包含 _binary 解析异常

  • 接入端:修复客户端无法接收到 MySQL 响应的语法错误的问题

  • 接入端:修复 EventLoop 线程会被 JDBC 释放资源操作阻塞的问题

  • 接入端:修复 MySQL Proxy 相应的 server status 中事务状态不正确的问题

  • 接入端:修复 Proxy 客户端在事务中断开连接可能导致连接泄漏的问题

  • 接入端:修复 Proxy 客户端断开连接时正在执行的语句可能存在的一致性问题

  • 接入端:修复 Proxy 执行 SET 语句会污染连接池中的连接的问题

  • 接入端:修复 MySQL Proxy 执行 SHOW TABLES FROM 返回结果不正确的问题

  • 接入端:修复使用 Extended Query 对 PostgreSQL Proxy 执行 DDL 不生效的问题

  • 接入端:修复 PostgreSQL Proxy 没有数据源时执行 SHOW VARIABLES 会报错的问题

  • 接入端:修复 ShardingSphere-JDBC Driver 打包为 fatjar 后无法读取配置文件的问题

  • 弹性伸缩:修复全量迁移时表中同时含有 pk 和 unique 索引报错的问题

  • 弹性伸缩:修复增量迁移任务运行时,支持最新 position 在批量事件中间

  • 弹性伸缩:修复 openGauss 增量迁移中字段值为 null 导致的报错

  • DistSQL:修复 `SHOW SHARDING TABLE RULES` 结果中的策略名称错误

  • DistSQL:修复 `ALTER SHARDING TABLE RULE` 执行时提前修改元数据的问题

  • DistSQL:修复 `ALTER RESOURCE` 可能导致的连接泄漏

  • DistSQL:修复负载均衡算法为空时 `CREATE TRAFFIC RULE` 失败的问题

  • 分布式治理:修复删除数据库发现逻辑库时未停止监测心跳任务

  • 分布式治理:修复集群模式 ShardingSphere-JDBC 加载所有逻辑库

  • 分布式治理:修复集群模式 SnowflakeKeyGenerateAlgorithm 生成的 worker-id 可能超过最大值的问题

  • 影子库:修复在没有影子数据源情况下 DistSQL 添加影子算法的异常

  • 分布式事务:修复多个逻辑库下数据源名称相同导致的数据源获取错误问题

  • 分布式事务:修复在事务中不支持 RUL DistSQL 语句问题

  • 分布式事务:修复 PostgreSQL 和 openGauss 中 begin 问题

  • Agent:修复收集 contextManager 指标时的空值异常问题

重构

  • 内核:ShardingSphere 元数据重构,拆分真实元数据和逻辑元数据

  • 内核:使用 ConnectionContext,QueryContext 去除 FetchOrderByValueQueuesHolder,TrafficContextHolder,SQLStatementDatabaseHolder 和 TransactionHolder 中的 ThreadLocal

  • 接入端:修改 helm chart 中 ShardingSphere-Proxy 版本的默认值

  • 接入端:Docker 容器中的 ShardingSphere-Proxy 启动失败时将退出容器

  • 接入端:ShardingSphere 仓库中的 Helm Charts 转移到子项目 shardingsphere-on-cloud

  • 弹性伸缩:scaling 代码可复用性重构

  • DistSQL:增加 RUL 类型

  • 分布式治理:重构 schedule 模块,拆分为集群调度和单机调度

  • 分布式治理:移除内存模式,保留单机模式和集群模式

  • 分布式治理:重构元数据表加载逻辑和持久化逻辑

  • 分布式治理:重构分布式锁保留最简洁的接口设计

  • 测试:重构:统一 IT 中使用的 Proxy Container 入口为 ENV 模块

  • 测试:重构:统一 IT 中使用的 testcontainer 配置

API 调整

  • 内核:删除 SQL 透传数据源功能

  • 内核:增加 assistedQueryEncryptorName 并删除 QueryAssistedEncryptAlgorithm 接口

  • 内核:重构读写分离 API 以提升用户使用体验

  • 内核:删除 check-duplicate-table-enabled 配置

  • 内核:删除 show-process-list-enabled 配置

  • 弹性伸缩:数据迁移 DistSQL 关键字调整

  • 弹性伸缩:数据迁移部分 DistSQL 语句重新设计

  • DistSQL:统一参数类型规范

  • DistSQL:拆分 `SHOW INSTANCE MODE` 为 `SHOW MODE INFO` 和 `SHOW INSTANCE INFO`

  • DistSQL:`DROP SCALING jobId` 变更为 `CLEAN MIGRATION jobId`

  • DistSQL:移除 `COUNT INSTANCE RULES`

  • 分布式治理:新增数据库发现高可用支持从库全部下线,主库承担读流量配置

  • 分布式治理:单机模式 SnowflakeKeyGenerateAlgorithm 支持配置 worker-id

  • 影子库:Shadow API 配置将 `sourceDataSourceName` 替换为 `productionDataSourceName`

  • 权限:删除已弃用的 Native 权限提供者

相关链接

🔗 下载链接:

https://shardingsphere.apache.org/document/current/cn/downloads/

🔗 更新日志:

https://github.com/apache/shardingsphere/blob/master/RELEASE-NOTES.md

🔗 项目地址:

https://shardingsphere.apache.org/

🔗 Cloud 子项目地址:

https://github.com/apache/shardingsphere-on-cloud

社区建设

此次 Apache ShardingSphere 5.2.0 版本的发布,共有 64 位 Contributor 提交了 1728 个 PR,感谢社区伙伴们的大力支持。

6055be2c733ad41b207502617a4e4fca.png

作者

端正强,SphereEx 高级中间件开发工程师,Apache ShardingSphere PMC。2018 年开始接触 Apache ShardingSphere,曾主导公司内部海量数据的分库分表,有着丰富的实践经验。热爱开源,乐于分享,目前专注于 Apache ShardingSphere 内核模块开发。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值