三年沉淀,Apache ShardingSphere 5.0.0 开启数据应用新篇章
11 月 10 日,是 Apache ShardingSphere 进入 Apache 基金会的三周年纪念日。在这三年的时间里,ShardingSphere 社区经历了巨大的成长,GitHub Star 数从 5k 增长到了如今的近 15k,贡献者从不足几十人发展到当前的三百多人,也顺利完成了 3.x、4.x 两次大版本的更新。
在这一过程中,ShardingSphere 核心团队始终在思考着未来的发展路线。经过将近两年时间的磨合,ShardingSphere 的核心 Team 也响应社区的呼唤,于 11 月 10 日这个特殊的日子,将本次 ShardingSphere 5.0.0 正式版作为三周年纪念日的礼物呈现给社区及整个分布式数据库和安全生态领域。作为更新能力最多、更新粒度最细的一次版本迭代,此次 5.0.0 版本使 Apache ShardingSphere 从广义架构层面到狭义功能能力层面,在用户体验层面均带来了数倍的提升。
![](https://pic2.zhimg.com/80/v2-f98157486cc85562c83925f6f57ad16a_1440w.png)
1 Apache ShardingSphere 5.0.0,从工具到生态的演化
从 5.0.0 版本开始,Apache ShardingSphere 正式开启了以可插拔架构为核心的全新阶段,实现了由过去数据分片单一应用场景到现在复杂应用环境下综合数据治理的身份转变与能力提升。在新版本下,Apache ShardingSphere 具备了更多新特性,并拥有了更加成熟的大数据解决方案。
随着本次更新对可插拔架构体系的完善,标志着 Apache ShardingSphere 在分布式数据库生态领域的探索进入到一个全新阶段,主要能力更新如下:
-
架构层面,完成内核层、功能层与生态层这三层可插拔架构的构建,并能够通过可插拔方式进行扩展,使所有的功能都能够被叠加使用,方便用户根据自身的业务需求来定制化数据库服务;
-
内核层面,全面提升了包括 MySQL,PostgreSQL,Oracle 以及 SQLServer 等数据库方言的解析能力,引入查询优化引擎,完成对跨库查询和子查询等这类复杂 SQL 的支持;
-
DistSQL,ShardingSphere 在标准 SQL 能力之外提供了一套分布式 SQL,用户可以像使用数据库一样使用标准的 SQL 来管理分布式数据库服务;
-
代理端,完善对 PostgreSQL 协议支持,支持 opengGauss 数据库,引入权限系统,方便用户对数据进行精细化的权限控制等;
-
正式发布弹性迁移能力,引入子项目 ElasticJob,提升迁移作业执行效率,支持代理端修改规则后自动化进行数据迁移。
-
......
2 践行 Database Plus 理念,不止是数据分片
Database Plus 是指在碎片化的数据库基础服务之上构建标准层和生态层,从而对上层应用提供统一标准化的数据库使用规范,尽可能屏蔽底层数据库差异化带来的业务干扰。
伴随着此次更新,Apache ShardingSphere 也正式将产品定位转向以 Database Plus 为核心的全新领域。除在数据库上层提供强大的增量能力之外,Database Plus 架构也为开发者和用户开放了高度可扩展的数据库生态,为 Apache ShardingSphere 未来的发展指明了方向。接下来,ShardingSphere 将以 5.0.0 的架构和产品为基础,继续朝着构建多模数据库上层标准和生态的目标前进。
关于 Database Plus,Apache ShardingSphere 的可插拔架构是其理念组成中非常重要的一部分。Apache ShardingSphere 可插拔架构旨在追求各个模块之间相互独立和互无感知,并通过高灵活度、可插拔及可扩展的内核,以叠加的方式将各种功能组合使用。目前,Apache ShardingSphere 已支持数据分片、读写分离、数据加密、影子库、数据库发现等功能通过插件的方式植入,进一步提升了对于 SQL 方言的支持度。
通过践行 Database Plus 理念,Apache ShardingSphere 通过可插拔架构,已能够在数据库上层构建一套全新的数据治理生态,如让传统关系型数据库同时具备水平扩展和数据加密的功能,或在传统关系型数据库的基础上单独打造分布式数据库解决方案等,而无需调整底层数据库架构。目前,Apache ShardingSphere 已提供数十个 SPI 作为系统的扩展点,而且仍在不断增加中。可插拔架构的完善,在提供了丰富的可扩展性以及强大的生态支持能力的同时,为传统数据库的应用升级提供了另一种思路,使 ShardingSphere 从分库分表中间件蜕变成为分布式数据库的生态系统。
3 ShardingSphere 全力构建周边生态
通过与各大开源社区展开合作,ShardingSphere 逐渐构建起庞大的数据处理新生态,为企业的数据库以及业务提供更多附加值。随着应用场景的多样化,ShardingSphere 正在被推向更广的应用平台以及更深的技术场景,在实践中持续验证并优化自身的能力,同各路合作伙伴一起打造标准化的数据生态服务体系。
在三周年之际,由 SphereEx 主导建立的开源中文社区 OpenSEC 也即将正式上线,以 Apache ShardingSphere 为社区基础,以 SphereEx 公司能力为社区后盾,为 Apache ShardingSphere 的中文开发者及使用者提供一个可以交流的国内开源社区平台,拉近中文开源爱好者之间的距离。
未来 SphereEx 将继续以 ShardingSphere 为主体,以推动 ShardingSphere 技术品牌为己任。11 月 13 日,由 Apache ShardingSphere 社区主办的【Apache ShardingSphere Dev Meetup】将于北京市海淀区中关村大街 32 号智能制造创新中心 1 楼多功能厅举行。未来社区也将陆续在全国开展面向工程师人群的技术交流活动,以真实实践案例为引,吸引更多对开源和 ShardingSphere 感兴趣的小伙伴加入到社区中来。