中秋献礼|Apache ShardingSphere 5.2.0 发布

Apache ShardingSphere 发布了 5.2.0 版本,新增数据分片SQL审计和数据弹性迁移功能。SQL审计功能允许用户配置审计策略,防止非法或低效SQL。数据迁移功能支持从 Oracle、MySQL、PostgreSQL 迁移到分布式数据库,简化迁移过程。此外,还支持了 MySQL 的 SHOW PROCESSLIST 和 KILL 语句,增强了云原生解决方案 shardingsphere-on-cloud 子项目的功能。
摘要由CSDN通过智能技术生成

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值