数据库领域下的新跃迁:百家争鸣背后的数据碎片化格局

本文转载自 CSDN 公众号
原文链接:https://mp.weixin.qq.com/s/no-ycbOmEhWrgHYs1gb0Lw?scene=25#wechat_redirect

互联网红利不再,相比 2010 年,现在的市场上显得太过平静,已经太久没有出现关于『风口』的故事。但在表面的岁月静好之下,却是底层的暗流涌动。其中,数据库就是『底层暗流涌动』的典型场景之一,作为支撑数字经济的最关键基础设施,这两年数据库市场中一直都在上演着一浪高过一浪的竞争。

在亚马逊公司看来,数据库也被他们视作为下一个战场。“The real battle will be in databases”,2016 年,外媒在讲述亚马逊公司积极努力用自研数据库产品取代 Oracle 曾如此写道。

数据库行业迈入深水区

据信通院统计,2020 年,全球数据库市场规模达到 671 亿美元,中国数据库市场规模约为 240.9 亿元,占比约 5.2%,市场空间广阔。预期到 2025 年市场规模达 688 亿元人民币,年复合增长率 24.3%。其中,国产数据库厂商的市场份额有进一步提升的趋势。国产数据库市场的形式似乎一片大好。

伴随数字化转型步入 “深水区”,企业的业务需求迭代迅速,数据量和并发访问量呈指数级增长,传统关系型数据库遇到捉襟见肘的扩展能力、大数据处理性能低等挑战。数据对于企业的重要性越来越高,企业对于以数据库为核心的专业服务需求也愈发迫切。另外,在移动互联网迅速席卷全国各个领域以及开源产业的发展,直播带货等新应用场景不断涌现,既需要处理联机交易,又要对客户数据进行实时画像,还要求数据库在双十一支持快速扩缩容等云原生特性,企业翘首以待新型数据库来满足不同的数据场景应用需求。

数据库行业下的『绿林军』,正一步步通过市场上的表现被转化为『正规军』。其中不乏深耕国产数据库多年的传统数据库厂商,也不乏出生在云上的云原生数据库,更有专注于业务敏捷的分布式数据库、图数据库、时序数据库…. 数据库在传统关系型流派的基础上迅速裂变,进入百花齐放、百家争鸣的时代。而国产数据库,正是处于这一『漩涡』之中。

可以说,在光鲜亮丽的中国互联网背后,正是一个个底层数据库支撑起了这一组繁荣。

但光鲜的表面,却遮盖不住底层日趋复杂、低效的问题。在一个个专业化的数据库细分服务领域下,即便用户对于数据库的可选择性越来越高,但各个场景之间的壁垒、管理,却出现了一些难题。因为不同类型的数据库在能力层面上,都存在着不同的限制与不足。

  • 业务层面上看,传统关系型数据库在面对企业业务数据量激增情况下存在水平扩展问题,而 NOSQL 非关系型数据库无法处理交易类数据及复杂的业务逻辑。

  • 技术角度看,一方面数据应用的变化倒逼数据库具备更大数据存储容量、更多数据计算模型、更快数据业务响应能力,整体技术发展进入后关系型阶段,架构设计逐渐分布式化、模型构建逐渐场景化。另一方面,人工智能、新型硬件、区块链等关联技术的创新正在催生新型数据库设计模式,传统数据库功能边界正被逐渐突破。

也正因如此,由于企业数据库技术体系庞杂,各个数据库之间间隙明显,管理困难,尤其是数据库在企业中的角色向来都是成本中心,控制成本、提高效能,是企业对底层数据库的长期不变的诉求。因此在多方位的作用下,企业需要服务提供商能够提供横向主流数据库产品和纵向多版本技术服务覆盖能力,以面对来自无感解决用户侧多元化需求以及抽离行业侧共性问题并形成解决方案的诉求。

在此情况下,对于数据的利用和底层架构的转型,就显得尤为迫切。想办法提升数据库的灵活性与扩展性,打造组件化数据库,或许是一种可行的方式。

数据的核心是连接:以 Database Plus 的形式在数据库之上,构建全新的连接关系

Database Plus, 一种分布式数据库系统的设计理念。通过在碎片化的同构或异构数据库之上搭建使用和交互的标准层和生态层,叠加扩展更多计算能力,使得所有应用和数据库之间的交互面向 Database Plus 构建的标准层,从而屏蔽数据库碎片化对上层业务带来的差异化影响。

近年来,『去 O』已经成为许多企业衡量自身后台架构演进进程的一条重要指标。究其本质,这是在有意减少对于某种商业数据库的依赖。但从另一个角度看,被替代的数据库可以是 Oracle,自然也可以是其它另一款商业数据库。追求多元化、『因地制宜』发挥数据库最大效能,以便于企业在未来底层数据库的选择中能够拥有更大的自由度。

但是这种改变并非只是字面意义上的变更,更在于变更数据库之后所带来的短时间内一系列成本的上升,迁移成本、时间成本、学习成本等等,企业在转型过程中往往会带来更大的阵痛感。为降低这种阵痛感,如果不对数据库本身做变更,而是在其上层提供额外增值服务,也许就会实现传统关系型数据库向云、实时计算等场景的平稳过渡。

(1)铸造 Database Plus 生态

基于此,Apache ShardingSphere 于业界首次提出了 Database Plus 理念,**标志着 ApacheShardingSphere 不满足于自身数据库中间件工具型的定位,开始向着平台和生态去转型。**Database Plus 理念的践行,使 Apache ShardingSphere 不但屏蔽了各个数据库之间的底层细节,也弥补了分布式数据库各分片之间的差异。具体来看,通过对数据库协议、SQL 方言以及数据库存储的灵活适配,快速连接应用与异构数据库,让开发者最终无需关注 SQL 方言的差异化,专注业务研发。

Apache ShardingSphere 在这层数据库的生态之上,通过将数据库作为最终的存储节点,在接入端满足各种各样的数据库协议、SQL 方言以及数据库落盘对接等,进而在这层存储节点之上面向数据库应用架构提供各类增量能力。因此,**用户可以将 Database Plus 视作一个 “数据库网关”,**可获取数据库的访问流量,提供流量重定向(数据分片、读写分离、影子库)、流量变形(数据加密、数据脱敏)、流量鉴权(安全、审计、权限)、流量治理(熔断、限流)以及流量分析(服务质量分析、可观察性)等透明化功能,这些增强功能使得 ShardingSphere 成了数据库产品的最强伴侣,用户无需为如何统一管理各个数据库而发愁,主流的鉴权、治理功能完成都可通过 DistSQL 这一 SQL 标准的扩展来完成。

(2)灵活的部署模式

随着分布式数据库在近些年来的逐步成熟,其天然具备 Proxy 一层。不过由于支持异构语言的 Proxy 模式被一再证明性能瓶颈之后,基于特定开发语言的 Proxyless 模式重新回到了工程师的视野之中。无侵入的异构语言友好性,和针对于特定语言的高性能的权衡,成为了分布式数据库架构选型的核心问题之一。

Apache ShardingSphere 作为一款由多接入端共同组成的生态圈,通过混合使用 ShardingSphere-JDBC (Proxyless 模式) 和 ShardingSphere-Proxy (Proxy 模式) 这两种部署模式,用户可以在 Apache ShardingSphere 生态内采用同一治理中心统一配置分片策略,进而能够灵活搭建适用于各种场景的应用系统,使得架构师能够更加自由地调整适合于当前业务的最佳系统架构。

生态的核心是包容:需要一个更包容、更开放的生态

一场自我颠覆式的代码重构,一场直达终端工程师体验的广义『再造』,一个深耕场景的数据时代。

在 Database Plus 理念的加持下,Apache ShardingSphere 进行了大胆的革新,重构了过去原有的技术架构,开始向着可插拔生态迈进。**前段时间 Apache ShardingSphere 5.0.0 版本正式上线,正式开启了以可插拔架构为核心的全新阶段,实现了由过去数据分片单一应用场景到现在复杂应用环境下综合数据治理的身份转变与能力提升。**在新版本下,Apache ShardingSphere 具备了更多新特性,并拥有了更加成熟的数据解决方案。

随着本次更新对可插拔架构体系的完善,标志着 Apache ShardingSphere 在分布式数据库生态领域的探索进入到一个全新阶段。以可插拔架构开路,以 DistSQL 架桥,Apache ShardingSphere 正在面向开发者打造一个更加包容、更加开放的 Database Plus 数据应用新生态。

(1)可插拔架构

放开限制,给用户更多的选择和自由。

作为 Database Plus 生态的重要组成部分,Apache ShardingSphere 可插拔架构通过追求各个模块之间相互独立和互无感知,凭借高灵活度、可插拔及可扩展的内核,以叠加的方式将各种功能组合使用。目前,Apache ShardingSphere 已支持数据分片、读写分离、数据加密、影子库、数据库发现等功能通过插件的方式植入,进一步提升了对于 SQL 方言的支持度。


(Apache ShardingSphere 可插拔架构图)

诚如上文所言,越来越多的细分业务领域,让不同数据库之间逐渐产生了『隔膜』。随着 Apache ShardingSphere 在 5.0.0 正式版中逐渐完成对于内核层、功能层与生态层这三层可插拔架构的构建,最终呈现出松耦合结构的状态,在数据库与业务之间形成一层中间可插拔的灵活架构,使所有功能都能够被叠加使用,用户可根据自身需要来自定义这层可插拔架构以及数据库服务。

(2)DistSQL:赋能技术人员,就是在赋能业务与数据库

Apache ShardingSphere 在标准 SQL 能力之外提供了一套分布式 SQL,用户可以像使用数据库一样使用标准的 SQL 来管理分布式数据库服务。

作为 Apache ShardingSphere 在分布式架构体系下的重要支撑部分,DistSQL 在传统数据库上层构建,让开发者在实际应用中能够以标准的 SQL 来管理分布式数据库服务,打破中间件与数据库之间的界限,从而将分布式数据库各分片之间的鸿沟给填平。

为改善 Apache ShardingSphere 配置复杂、操作繁琐的问题,DistSQL 以自身独特的语言特性,在数据库之上提供统一的资源和规则定义语言,进而降低用户使用 Apache ShardingSphere 面向繁琐配置的操作门槛。不夸张的说,DistSQL 已经成为 Apache ShardingSphere 从面向开发人员的框架和中间件转变为面向运维人员的基础设施产品不可或缺的能力。

(3)活跃的开源社区:项目生存与发展的基石

  • 在 2021 年 Apache 基金会年度报告中,Apache ShardingSphere 的提交数量位列前十,占整个基金会代码提交数量的 1.6%;

  • 从 2021 年 1 月 1 号的 208 名贡献者,到 2022 年 1 月 1 号的 340 名贡献者,一年内增加了 100+ 贡献者;

  • Apache ShardingSphere 社区举办了首届线上 Meetup,吸引了近万名开发者观看线上直播;

  • Apache ShradingSphere 海外声音渐多,案例被 MySQL 官方收录;

一系列的数字和案例场景表明,Apache ShardingSphere 正在被推向更广的应用平台以及更深的技术场景,且已经成为了国内开源社区的靶心,吸纳了大量开源爱好者的参与和贡献。

如此一来,Apache ShardingSphere 基于 Database Plus 理念,形成了自己独立的可插拔功能性基座,成了新时代灵活的 “数据库操作系统”,通过自研标准化的 DistSQL 交互语言,在数据库上层构建起了能够从容应对 SQL 创建、修改、删除分布式数据库表、加密数据库表及提供分布式调度管理能力等管控平台。

另外,Apache ShardingSphere 通过统一的上层接口,让用户对接 MySQL、PostgreSQL、Oracle、SQL Server 等各类型数据库,并提供接口让开发者自主拓展开发,通过可插拔体系帮助大家建立分片、加密、迁移、治理、影子库、读写分离、高可用及不断增强的数据能力,借助数据库与应用之间的这个缓冲带,“搭个台子” 帮助业界以最低成本打造一个良好的数据库生态。

业务的核心是场景:这是一个深入云上的业务数据时代

随着业务场景的演变,数据库架构也在不断地演进。从单节点架构到共享存储架构,再到分布式数据库、云原生数据库等,一个让人关注的变革已然发生:在数字化时代,数据的产生速度极快,存在不均衡现象,不上云的传统数据库越来越难以适应新的场景。根据权威咨询机构 IDC 预测,到 2022 年,75% 的数据库将被部署或迁移至云平台。

在产业数字化转型时代下,技术架构向云原生演进是不可逆的时代潮流,但从目前的进展来看,大多数互联网巨头的应用层基本都已经完成了微服务或者服务网络的改造,但是数据面却还处在相当碎片化的情况。

因此,Apache ShardingSphere 背后的商业化公司 SphereEx 推出 SphereEx Mesh 概念。在 Database Plus 的基础上,让用户定制化自身数据库运行所需要的最小运行环境,从而利用 Mesh 的设计思想构建有弹性可扩展的数据库集群,为用户提供便捷的数据应用连接服务,帮助用户更好地释放云上数据价值。

近日,SphereEx CTO 潘娟荣获 “AWS Hero” 称号,这是亚洲地区在数据库领域屈指可数的获奖者,SphereEx 云上理念得到了 AWS 的认可。据了解,未来 SphereEx 将会和亚马逊云科技保持紧密的合作关系,共同为 Apache ShardingSphere 打造公有云上的部署形式,为用户提供更加强大的公有云能力,为企业应用打造更加成熟的云上环境,帮助企业在下一代云上 “数据库之战” 中抢占先机。

持续做有价值的事

任何一家创业公司,所面对行业一定是要有改变的内驱力,所研发的产品一定要兼具实用性和趋势性,在数据库领域下尤为如此。随着数据库行业的发展,其正逐渐成为当下数字时代的中坚力量。毫无疑问,Apache ShardingSphere 和它背后的创业公司 SphereEx 目前在走的是一条创新的路、艰难的路。但越难,这件事情的门槛就越高,在生存下来之后距离突破和爆发的临界点就越近。

目前,以开源项目 Apache ShardingSphere 为基础的商业化公司 SphereEx,在商业化的道路上动作频频。1 月 4 日,SphereEx 宣布完成近千万美元的 Pre-A 轮融资,在公司成立半年的时间内快速完成两轮融资,足以见到资本对数据库赛道、对 ShardingSphere 社区以及 SphereEx 商业化道路的认可。

同时,SphereEx 已经开始迈出了商业化的第一步。为进一步降低 Apache ShardingSphere 在部署方面的复杂性,SphereEx 针对性研发了一款用于一键部署及管理 ShardingSphere-Proxy 集群的命令行工具:SphereEx-Boot,并已于日前发布。此次 SphereEx-Boot V0.1.0 版本发布,既是 SphereEx 对 Apache ShardingSphere 周边生态的补充,也是对 SphereEx 商业化布局的一次初步验证和探索。

在数据库的市场下,每一个场景和每一位工程师都在诱惑着数据库厂商加速迭代变化,SphereEx 和 Apache ShardingSphere 正走在这样的路上。面对来自业务场景及工程师的双重推动,在数据库上层构建一套完整的数据治理生态,并以这层生态为踏板,实现传统关系型数据库向数字化新需求的平稳过渡,相信将是未来企业转型以及实现数字化的一条『必经之路』。

1 个赞
京ICP备2021015875号