Apache ShardingSphere 5.0.0 发布了 alpha 版本,自上个版本 4.1.1 发布以来,Apache ShardingSphere 一直在修复社区反馈的问题、加强功能和开发新特性。
根据官方的说法,5.x 是 Apache ShardingSphere 从分库分表中间件向分布式数据库生态转化的里程碑,从 4.x 版本后期开始打磨的可插拔架构在 5.x 版本已逐渐成型,项目的设计理念和 API 都进行了大幅提升。
Apache ShardingSphere 是一套开源的分布式数据库中间件解决方案组成的生态圈,它由 Sharding-JDBC、Sharding-Proxy 和 Sharding-Sidecar(规划中)这 3 款相互独立的产品组成。他们均提供标准化的数据分片、分布式事务、数据迁移、数据库治理和管控界面功能,可适用于如 Java 同构、异构语言、容器、云原生等各种多样化的应用场景。
5.0.0-alpha 版本发布信息具体如下
新特性
-
可插拔架构全面上线,支持开发者通过SPI机制扩展功能。
(扩展点请参见开发者手册:https://shardingsphere.apache.org/document/current/cn/dev-manual/)
-
提供独立SQL解析功能,用于解析多数据库方言。
-
提供RDL(Rule Definition Language)语句,支持使用SQL在线创建分片规则。
-
新增影子数据库功能。
编译 & 依赖
-
升级JDK的最低支持版本至Java8。
-
更新Google Guava库到29.0-jre版本。
-
更新Zookeeper 至 3.6.x 版本,并更新curator至5.1.0版本。
API 变更
-
全新分片/数据加密/影子库/主从规则配置API。
-
全新分片策略及分片算法API。
-
全新弹性迁移创建任务的API。
-
删除DefaultDataSourceName配置项,由ShardingSphere托管所有数据源。
-
属性配置项分隔符由点‘.’修改为减号‘-’。
-
参数allow.range.query.with.inline.sharding由全局参数调整至分片算法参数。
重构
-
依据数据库方言,重构解析模块域模型对象。
-
使用SPI机制重构元数据在线变更处理。
-
Orchestration模块重名为Governance模块。
-
MasterSlave模块重名为QueryReplica模块。
-
重构Governance注册中心中的元数据结构。
-
ShardingSphere UI合并配置中心和注册中心显示布局。
增强
-
MySQL SQL 和 PostgreSQL语法定义及解析支持增强。
-
增强对各方言数据库子查询的支持度。
-
支持对非分片表使用MySQL视图操作。
-
ShardingSphere Proxy支持对非分片表使用MySQL存储函数、存储过程操作。
-
支持使用SQLServer Top语法。
-
优化接入端metadata加载方式,提高启动速度。
-
优化批量插入性能。
-
接入端支持使用Oracle RAC连接串。
-
XA事务管理器增加对Oracle数据库的支持。
-
ShardingSphere Proxy支持使用p6sy驱动。
-
迁移工具支持断点续传功能。
-
迁移工具支持使用ShardingSphere JDBC迁移数据至新集群。
漏洞修复
-
修复处理OrderBy条件时,别名改写错误问题。
-
修复MySQL Insert语句包含表达式时,SQL改写错误问题。
-
修复Update on duplicate SQL中参数计算错误问题。
-
修复批量插入时,generatedKeys获取错误的问题。
-
修复DML语句更新操作多表校验异常问题。
-
修复表不存在时执行SQL导致NPE问题。
-
修复对不在配置规则中的表使用Show table命令的报错问题。
-
修复Oracle数据库在多用户场景下元数据加载错误问题。
-
修复不能在线启用从库节点问题。
-
修复ShardingSphere JDBC不支持PostgreSQL数组类型问题。
-
修复ShardingSphere Proxy在查询超长blob数据时无响应问题。
ShardingSphere-UI
-
合并配置中心和注册中心。
-
支持配置etcd注册中心。
-
支持查看metadata。
-
支持动态删除schema。
变更日志 MILESTONE
https://github.com/apache/shardingsphere/milestone/10
注意:本文归作者所有,未经作者允许,不得转载