一、数据库业界发展趋势:全面拥抱云原生
数据库是非常经典的技术。早在上个世纪 70 年代,其基础理论已经相对成熟,80年代开始了商业化进程。此后每隔十年均有代表性产品出现,但是云计算的出现加速了数据库技术的发展。
从能力上来看,数据库从承载在线业务逐步向一站式数据处理平台演进,从结构化数据模型逐步向非结构化、半结构化的全数据模型处理能力演进。
云计算也推着数据库架构向着云原生演进,使得数据库系统在面对不同工作负载时能够降低数据移动,提升数据库的处理效率。同时,实现了资源池化与资源解耦,使得每个数据库都能满足高并发、高扩展与高性能方面的需求。
数据库系统的分布式架构阶段有两个演进方向。
其一,共享存储架构。该架构下,计算节点没有状态,扩展能力极强。同时,使用体验与单体数据库非常接近,对用户非常友好。但问题在于存储与网络存在上限,扩展存在理论瓶颈。
其二,分布式架构。每个节点自带计算与分析资源,扩展能力在理论上没有上限。但局限性在于节点增加与删除均会引起数据重分布,扩展效率较低。同时,系统执行效率受限于数据分布规则与业务使用场景之间的适配程度,因此,使用门槛较高。
而云原生时代,以上两种架构实现了相互融合。在资源结合的基础上,计算、内存、存储等各种资源扩展都不再是瓶颈。数据库的处理能力也在不断增长,融入了各式各样分布式处理模式,包括 BSP、MPP等,这也决定了云原生数据库的应用范围会越来越广泛。
因此,在开源社区的建设过程中,我们需要坚定地坚持开源技术方向,要始终坚持以云原生为指导。
二、阿里云数据库整体开源策略
开源的第一原则为兼容生态。数据库作为基础软件,下连基础设施,上连应用,无法脱离生态而存在。MySQL和PostgreSQL是当前数据库的两大生态,因此,我们的开源PolarDB 也会坚定地拥抱这两大生态。
开源的第二原则为遵循全面的开源模式。数据库作为一个重要软件,其稳定性和可靠性是用户最关心的因素。而我们将云产品直接开源,在于希望为用户提供一款具备企业级特性、成熟稳重的产品。另外我们也希望将阿里多年在数据库上的积累回馈给社区,让越来越多用户与开发者参与到云原生数据库的共建中。
三、PolarDB云原生开源产品系列
PolarDB-X兼容了MySQL生态,PolarDB for PostgreSQL兼容了PG 生态。
PolarDB-X由四个部分组成。
上面部分是元数据服务,负责元数据维护,提供全局授时服务等。
下面部分分别为存储节点集群、计算节点集群以及全局日志节点。计算与存储完全分离,计算集群无状态,同时,计算集群主要承担SQL执行、分析事务等工作。存储节点集群的主要特点是通过 Paxos保证数据的强一致性,特别适用于对数据强一制性、安全性有要求的场景。
日志集群最主要的特点在于与MySQL的Binlog 100%兼容,能够方便地接入现有的MySQL数据链路,平顺地为下游系统提供业务数据。
PolarDB for PG是基于共享存储的架构,采用一写多读的模式。PG是一款非常优秀的数据库,拥有极强的SQL处理能力,因此被很多传统企业所选择。但互联网时代下,传统企业需要进行业务创新,因此也希望PG能够拥有应对互联网行业特性的能力,比如有足够的弹性应对洪峰流量。而PolarDB for PG很好地满足了该类需求。
PolarDB for PG与PG实现了100% 兼容, PG 拥有的插件化能力,PolarDB for PG一样可以实现。可以通过PG插件支持高级能力,比如分布式能力、时序时空能力等。
PolarDB-X与PolarDB for PG两款产品均原生接入K8S系统,这也意味着只要用户与开发者的基础生产环境里有K8S系统,即可很方便地通过K8S部署、管理、调度、运维开源PolarDB。同时,用户也可以基于K8S根据自己的需求开发平台。
一年来,PolarDB发布了诸多企业级特性,包括查询的增强、安全加密、归档、容灾、审批等。未来,我们也会持续将云上产品的企业级特性不断增强,同时会坚定地坚持国产化和生态兼容。
四、开源数据库社区运营及生态建设
我们希望打造一个技术社区。因此社区的决策机构是技术委员会。在技术委员会的带领下,我们希望通过建立用户组的方式不断扩展PolarDB在垂直技术领域的深度应用。
目前,社区已经成立了11个 SIG ,包括自然语言处理、异构硬件适配、查询加速等。我们希望通过SIG推动开源PolarDB与场景结合更加紧密,让越来越多人能够平顺地使用开源PolarDB。同时,社区会面向开发者与用户定制深度技术内容,帮助业务与开发者更好地了解PolarDB。我们会定期邀请PolarDB用户,为大家分享使用PolarDB过程中遇到的问题以及最佳实践。
此外,我们希望打造全栈的伙伴体系,与重点行业的客户共同成立云原生数据库适配中心,并基于适配中心打造行业专属的开源数据库。比如,我们与韵达成立了数据中心,已经落地了数据中台的核心业务模块订单打单系统。后续,希望有越来越多的优秀企业与阿里云合作,共同打造行业专属的开源数据库。
同时,我们也会通过社区帮助合作伙伴培养所需要的数据库人才。一年以来,我们已经打造了10+基础课程,学习人次超150万。
上图展现了我们理想中未来PolarDB开源生态的全景,包括东南西北四个方向。其中,南向主要适配芯片、操作系统等;北向会与经典应用集成,对行业运营提供支撑;西向主要与伙伴、用户一起打造完善的人才培养体系;东向会与更多具有PaaS属性的软件实现适配,比如数据流入流出工具、数据管理工具、数据安全以及各种中间件。
PolarDB用户已经非常多,涉及千行百业,对高性能、高扩展、复杂分析等极限类应用场景提供了非常好的支持。
未来,希望有越来越多用户与开发者加入我们,贡献代码,贡献技术力量,一起打造属于中国人的、有世界级影响力的云原生开源数据库社区。