一、 数据库业界发展趋势:全面拥抱云原生
1. 技术趋势:云计算加速数据库系统演进
数据库技术是一个经典的技术,其基础理论早在上世纪70年代就已经基本成熟;在80年代就出现了商业化的产品。其后,每隔10年,数据库技术都会有标志性的产品出现。当然,云计算的出现也加速了数据库技术的发展。
在处理能力上,数据库从结构化数据处理、在线事务处理逐步向着海量数据的计算分析演进;在数据模型上,从传统的结构化模型逐步向着异构数据模型演进,越来越多的数据库都支持图、文档、时序、时空等新型数据模型。
云计算技术的发展给数据库带来了再次发展的机遇,云计算使得数据库向着云原生方向演进。其基本特征有两个,一个是计算分析一体化,减少数据处理过程中的数据移动,提升了数据的处理效率;另一个是存储计算分离,通过资源池化和资源解耦来满足高可扩展、高性能、弹性等需求。
2. 数据库技术架构演进:云原生分布式是未来
接下来,我们再来深入看一下数据库的架构演进过程。
从最早期的单体数据库开始,随着业务量和数据量的增长,单体数据库逐步向着分布式数据库演进。演进有两类技术路线:
• 基于共享存储,在这种架构下,事务一致性易于保证、使用体验与单机基本一致,局限性在于存储扩展能力存在上限,同时,性能受制于存储与计算之间的IO能力。
• 无共享架构,在这种架构下,单个节点同时包含存储和计算资源,优势在于扩展能力理论上无上限,局限性在于存储计算必须同步扩展,同时,性能受制于数据分布规则,使用门槛较高。
云计算技术推动了两种分布式架构的融合演进。基于云原生架构,在存算分离的基础上,计算和存储都可以随需求扩展;同时,分布式计算技术逐渐融入云原生架构,云原生数据库开始支持各种分布式计算模型,包括BSP模型、MPP模型等。
我们认为,未来的数据库会向着云原生分布式的方向不断演进,这也是我们在开源工作上会持续推进的方向。
二、 阿里云数据库整体开源策略
接下来和大家分享一下,我们过去一年在开源PolarDB上的两条开源策略。
策略一,兼容生态。因为数据库产品,它在整个IT软件体系中是一个承上启下的组件,所以数据库的发展是离不开生态的。众所周知,数据库领域有两大开源生态,MySQL和PostgreSQl,所以在刚才重磅发布上也体现了两款产品,PolarDB-X兼容MySQL的生态,PolarDB for PG兼容PG的生态。
策略二,把云上的产品直接开源。那么为什么要坚持这个原则?真正开放的开源数据库,它到底应该给用户去带来什么呢?我们有以下两个思考:
• 第一个思考,因为数据库的稳定性要求特别高,所以我们希望开源出去的PolarDB一开始就是企业级的数据库,它需要够成熟、够稳定,才能支撑客户的关键应用,所以我们选择了把在云上经过无数打磨的PolarDB云产品直接开源。
• 第二个思考,大家都知道阿里云数据库起源于开源,我们享受了大量开源数据库给我们的红利。现在我们发展起来了,我们也应该把我们认为做的好的技术,以及能够给用户和开发者带来帮助的技术回馈给社区,让更多的用户和开发者和我们一起,共同推进云原生分布式技术的发展。
三、 开源产品系列
接下来介绍一下我们开源的两款产品,PolarDB-X和PolarDB for PG。上面也提到了,PolarDB-X兼容MySQL生态,PolarDB for PG兼容PG生态。
上图是PolarDB-X的架构,它包括4个组件,分别是全局管理服务、计算集群、存储集群、日志集群。
最上面GMS是全局管理服务,主要提供元数据维护和全局授时服务。下面从左到右依次是计算集群、存储集群、日志集群。
计算集群是无状态的,可以快速扩展,主要负责SQL执行与路由、分布式事务、全局索引维护等功能。
存储集群负责数据的存储,它通过Paxos协议来保证数据的高可靠性,同时,也会配合计算集群,基于MVCC做分布式事务的可见性判断。Paxos还使得存储集群具备异地多活的部署能力,满足“两地三中心”、“三地五中心”等部署形态,为金融等行业提供数据高可靠性能力保障。
日志集群最大的特点就是提供100%兼容MySQL的binlog日志,因为“100%兼容”,所以PolarDB-X可以很方便的接入目前的数据链路生态,为下游数据处理提供业务数据。
接下来我们看一下PolarDB for PG的架构,如上图。与PolarDB-X不同,PolarDB for PG采用“共享存储、一写多读”架构:计算节点的无状态特性,使得这种架构能提供极致的弹性,特别适用于有“洪峰式”流量的场景,如电商、出行、游戏、直播等等。
同时,由于PolarDB for PG 100%兼容PG生态,可以享受PG社区丰富的插件红利,基于插件,PolarDB for PG可以提供时空分析、分布式处理等高级功能。
上图这是我们云产品的开源时间线,最近一年,我们发布了大量的企业级特性,来满足用户的实际生产需求。包括分析能力提升、安全加密、审计容灾、闪回查询、性能优化等。未来我们将持续开源相关企业级能力,并加大在国产适配和生态适配上的投入。
更多精彩内容,欢迎观看:
《云计算加速开源创新》——打造世界级云原生数据库开源社区(下):
https://developer.aliyun.com/article/1223923?groupCode=tech_library