1、Apache ShardingSphere 论文被 ICED 收录
近日,由 Apache ShardingSphere 社区、SphereEx 以及重庆大学计算机系团队共同撰写的关于《Apache ShardingSphere:A Holistic and Pluggable Platform for Data Sharding》论文,被数据管理与数据库国际顶级会议 ICDE 长文录用,成为业界首篇关于数据分片的顶级会议论文。
ICDE(The International Conference on Data Engineering)是中国计算机协会(CCF)推荐的 A 类国际学术会议,是数据库和数据挖掘领域顶级学术会议之一,是电气与电子工程师协会(IEEE)的旗舰会议,和 SIGMOD、VLDB 并称数据管理与数据库领域的三大国际顶尖学术会议。
此次被收录,代表 Apache ShardingSphere 所倡导 Database Plus 理念的工程化实践,经过 5 年多的研发及生产验证外,已经得到理论层面的验证。其提出的基于数据库之上的增强计算引擎,及内置的多层可插拔架构得到很好的印证。其研究成果获全球顶会认可,也代表着 Apache ShardingSphere 在数据库底层核心基础性技术研究方面持续获得了创新性突破。该论文印证了在关系型数据库仍然是在线事务处理的主力,但缺乏可扩展性以及无法高效解决高并发问题,以及 NewSQL 数据库会带来额外学习成本的背景下,Apache ShardingSphere 作为一款数据库中间件来连接和管理众多已有的数据库,已经成为一种十分友好且高效的方式。
2、验证 Apache ShardingSphere 的科学发展路径
Apache ShardingSphere 从诞生至今,已经走过了 6 年多时间。在旁观者的视角看来,不论是项目本身或是开源社区,Apache ShardingSphere 都已经相当成功。
(1)我们为什么要完善现有的数据库生态,而并非新建一款数据库?
Apache ShardingSphere 旨在充分合理地在分布式的场景下利用关系型数据库的计算和存储能力,而并非实现一个全新的关系型数据库。
时至今日,关系型数据库作为支持完整事务的最优选择,其仍然是在线事务处理的主力。但由于关系型数据库在设计初期是针对单台机器的,并没有考虑到流量、数据过大时的场景,因此可扩展性欠佳并且无法高效解决高并发问题。在此背景下 NewSQL 应运而生,New 就意味着是从零开始开发的数据库。虽然适合现在的应用场景,但其还没有大量接受过真实生产环境的检验,并且还会为企业的维护人员带来额外学习成本。
在此背景下,Apache ShardingSphere 也一步步从工具发展到生态,立足点越来越高,影响范围越来越广,这样的系统打破了关系型数据库架构的限制。目前,Apache ShardingSphere 已更新 5.1.0 正式版。伴随着此次更新,Apache ShardingSphere 也正式将产品定位转向以 Database Plus 为核心的全新领域,旨在构建多模数据库上层的标准和生态。除在数据库上层提供强大的增量能力之外,Database Plus 架构也为开发者和用户开放了高度可扩展的数据库生态,帮助用户站在数据库的上层视角,更多关注数据库之间的协作。
(2)Apache ShardingSphere 的多重特性
可插拔
Apache ShardingSphere 项目采用微内核 + 三层可插拔模型,使内核、功能组件以及生态对接完全能够灵活的方式进行插拔式扩展, 开发者能够像使用积木一样定制属于自己的独特系统。在 Apache ShardingSphere 的框架下,所有功能均可通过积木化的形式组装到 Apache ShardingSphere 体系中,且可以叠加使用。而在开发者面向标准的 SPI 编程中,内核对增量功能是无感知的,所以 Apache ShardingSphere 在实际的应用场景中可以灵活组合多个功能模块,为用户提供无限的想象空间。
此外,Apache ShardingSphere 是基于 SPI(Service Provider Interface, 一种 Java 语言中的服务发现机制)和多种设计模式设计的。因此,更多类型的数据库、功能、分片算法都能够非常方便地加入、移除以及自由组合。
其中,作为研发ShardingSphere的起源诉求,数据分片一直以来都是ShardingSphere的重要特性之一。对于许多用户来说,分片功能也是其使用ShardingSphere的初期原因之一。综合来看,对关系型数据库进行数据分片操作,以水平数据分片的方式突破单台机器存储量的限制,是基于现有情况下更适合于企业的解决方案。
高性能
论文中提到,重庆大学与 SphereEx 在 Sysbench 和 TPCC 这两个测试环境下进行了多轮实验,验证了在相同的配置下 Apache ShardingSphere 的性能都优于大多数分片系统和新架构数据库。详细数据可参照下图:
(Sysbench 测试结果)
(使用 TPCC 对不同分布式系统的比较)
结 语
Apache ShardingSphere 目前已经在数百家海内外企业的生产环境中得到应用,涉及互联网、游戏、银行、保险、证券、制造业、电信、新零售、政府等多个行业,已得到多个真实生产场景的验证。
随着本篇论文被 ICDE 收录,也标志着学术界对 Apache ShardingSphere 理念的的认可,将会为数据库行业发展、提升数据处理效能等方面提供了新的解决思路,也为关系型数据库应用分布式能力、可插拔架构的普及、数据库上层生态的建设奠定了坚实的理论基础。
通过本篇论文,希望 Apache ShardingSphere 在该领域下的探索可以启发到其他数据库领域的开发者与学者,共同繁荣数据库生态,将数据库打造为更加贴合业务场景的数据服务平台而努力。