Apache ShardingSphere 5.0.0-alpha 版本发布

本期看点

Apache ShardingSphere是一套开源的分布式数据库中间件解决方案组成的生态圈,它由Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar(规划中)这3款相互独立的产品组成。他们均提供标准化的数据分片、分布式事务、数据迁移、数据库治理和管控界面功能,可适用于如Java同构、异构语言、容器、云原生等各种多样化的应用场景。

本次版本发布距离上次 4.1.1 的发布已有5个月有余,在这期间 Apache ShardingSphere不断的打磨优化,修复社区反馈的问题,加强功能和开发新特性。

在这里我们很高兴的宣布 5.0.0-alpha 的发布!大家的等待是值得的。5.x 是 Apache ShardingSphere从分库分表中间件向分布式数据库生态转化的里程碑,从 4.x 版本后期开始打磨的可插拔架构在 5.x 版本已逐渐成型,项目的设计理念和 API 都进行了大幅提升。欢迎大家测试使用!

5.0.0-alpha 具体版本发布信息如下:

A. 新特性

  1. 可插拔架构全面上线,支持开发者通过SPI机制扩展功能。

    (扩展点请参见开发者手册:https://shardingsphere.apache.org/document/current/cn/dev-manual/)

  2. 提供独立SQL解析功能,用于解析多数据库方言。

  3. 提供RDL(Rule Definition Language)语句,支持使用SQL在线创建分片规则。

  4. 新增影子数据库功能。

B. 编译 & 依赖

  1. 升级JDK的最低支持版本至Java8。

  2. 更新Google Guava库到29.0-jre版本。

  3. 更新Zookeeper 至 3.6.x 版本,并更新curator至5.1.0版本。

C. API 变更

  1. 全新分片/数据加密/影子库/主从规则配置API。
  2. 全新分片策略及分片算法API。
  3. 全新弹性迁移创建任务的API。
  4. 删除DefaultDataSourceName配置项,由ShardingSphere托管所有数据源。
  5. 属性配置项分隔符由点‘.’修改为减号‘-’。
  6. 参数allow.range.query.with.inline.sharding由全局参数调整至分片算法参数。

D. 重构

  1. 依据数据库方言,重构解析模块域模型对象。

  2. 使用SPI机制重构元数据在线变更处理。

  3. Orchestration模块重名为Governance模块。

  4. MasterSlave模块重名为QueryReplica模块。

  5. 重构Governance注册中心中的元数据结构。

  6. ShardingSphere UI合并配置中心和注册中心显示布局。

E. 增强

  1. MySQL SQL 和 PostgreSQL语法定义及解析支持增强。
  2. 增强对各方言数据库子查询的支持度。
  3. 支持对非分片表使用MySQL视图操作。
  4. ShardingSphere Proxy支持对非分片表使用MySQL存储函数、存储过程操作。
  5. 支持使用SQLServer Top语法。
  6. 优化接入端metadata加载方式,提高启动速度。
  7. 优化批量插入性能。
  8. 接入端支持使用Oracle RAC连接串。
  9. XA事务管理器增加对Oracle数据库的支持。
  10. ShardingSphere Proxy支持使用p6sy驱动。
  11. 迁移工具支持断点续传功能。
  12. 迁移工具支持使用ShardingSphere JDBC迁移数据至新集群。

F. 漏洞修复

  1. 修复处理OrderBy条件时,别名改写错误问题。
  2. 修复MySQL Insert语句包含表达式时,SQL改写错误问题。
  3. 修复Update on duplicate SQL中参数计算错误问题。
  4. 修复批量插入时,generatedKeys获取错误的问题。
  5. 修复DML语句更新操作多表校验异常问题。
  6. 修复表不存在时执行SQL导致NPE问题。
  7. 修复对不在配置规则中的表使用Show table命令的报错问题。
  8. 修复Oracle数据库在多用户场景下元数据加载错误问题。
  9. 修复不能在线启用从库节点问题。
  10. 修复ShardingSphere JDBC不支持PostgreSQL数组类型问题。
  11. 修复ShardingSphere Proxy在查询超长blob数据时无响应问题。

G. 变更日志 MILESTONE

https://github.com/apache/shardingsphere/milestone/10

H. ShardingSphere-UI

  1. 合并配置中心和注册中心。

  2. 支持配置etcd注册中心。

  3. 支持查看metadata。

  4. 支持动态删除schema。

社区建设

Apache ShardingSphere 在社区建设方面也取得了较大的成功,ShardingSphere 自开源以来一直备受关注,在GitHub上一直保持着稳定的增长趋势,截止目前已经突破12k+ stars。

图片

并且已登记的使用公司/组织140+且覆盖了各行各业,如互联网金融,物流,在线教育,企业服务,甚至还包括政府机关。未声明的公司不计其数,无法准确统计。感谢大家对社区建设的支持。

此外,Apache ShardingSphere自开源以来共产生164位 Contributor,29位 Committer(含17位PMC),在此也要感谢他们对社区的贡献。

点击查看Contributor列表:https://github.com/apache/incubator-shardingsphere/graphs/contributors

欢迎更多的用户与使用公司查看与登记:https://shardingsphere.apache.org/community/cn/poweredby/

图片

Apache ShardingSphere不断践行Apache Way,致力于打造充满活力、规范、互助的社区!开源路上,我们欢迎你的加入。

项目地址:

https://github.com/apache/shardingsphere

https://github.com/apache/shardingsphere-ui

更多信息请浏览官网:

https://shardingsphere.apache.org/

京ICP备2021015875号