本期看点
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. 新特性
-
可插拔架构全面上线,支持开发者通过SPI机制扩展功能。
(扩展点请参见开发者手册:https://shardingsphere.apache.org/document/current/cn/dev-manual/)
-
提供独立SQL解析功能,用于解析多数据库方言。
-
提供RDL(Rule Definition Language)语句,支持使用SQL在线创建分片规则。
-
新增影子数据库功能。
B. 编译 & 依赖
-
升级JDK的最低支持版本至Java8。
-
更新Google Guava库到29.0-jre版本。
-
更新Zookeeper 至 3.6.x 版本,并更新curator至5.1.0版本。
C. API 变更
- 全新分片/数据加密/影子库/主从规则配置API。
- 全新分片策略及分片算法API。
- 全新弹性迁移创建任务的API。
- 删除DefaultDataSourceName配置项,由ShardingSphere托管所有数据源。
- 属性配置项分隔符由点‘.’修改为减号‘-’。
- 参数allow.range.query.with.inline.sharding由全局参数调整至分片算法参数。
D. 重构
-
依据数据库方言,重构解析模块域模型对象。
-
使用SPI机制重构元数据在线变更处理。
-
Orchestration模块重名为Governance模块。
-
MasterSlave模块重名为QueryReplica模块。
-
重构Governance注册中心中的元数据结构。
-
ShardingSphere UI合并配置中心和注册中心显示布局。
E. 增强
- MySQL SQL 和 PostgreSQL语法定义及解析支持增强。
- 增强对各方言数据库子查询的支持度。
- 支持对非分片表使用MySQL视图操作。
- ShardingSphere Proxy支持对非分片表使用MySQL存储函数、存储过程操作。
- 支持使用SQLServer Top语法。
- 优化接入端metadata加载方式,提高启动速度。
- 优化批量插入性能。
- 接入端支持使用Oracle RAC连接串。
- XA事务管理器增加对Oracle数据库的支持。
- ShardingSphere Proxy支持使用p6sy驱动。
- 迁移工具支持断点续传功能。
- 迁移工具支持使用ShardingSphere JDBC迁移数据至新集群。
F. 漏洞修复
- 修复处理OrderBy条件时,别名改写错误问题。
- 修复MySQL Insert语句包含表达式时,SQL改写错误问题。
- 修复Update on duplicate SQL中参数计算错误问题。
- 修复批量插入时,generatedKeys获取错误的问题。
- 修复DML语句更新操作多表校验异常问题。
- 修复表不存在时执行SQL导致NPE问题。
- 修复对不在配置规则中的表使用Show table命令的报错问题。
- 修复Oracle数据库在多用户场景下元数据加载错误问题。
- 修复不能在线启用从库节点问题。
- 修复ShardingSphere JDBC不支持PostgreSQL数组类型问题。
- 修复ShardingSphere Proxy在查询超长blob数据时无响应问题。
G. 变更日志 MILESTONE
https://github.com/apache/shardingsphere/milestone/10
H. ShardingSphere-UI
-
合并配置中心和注册中心。
-
支持配置etcd注册中心。
-
支持查看metadata。
-
支持动态删除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
更多信息请浏览官网: