深度 | 带领国产数据库走向世界,POLARDB底层逻辑是什么?

阿里云POLARDB在世界互联网大会上荣获领先科技成果,其分布式数据库架构支撑起北京市公交出行。本文探讨了POLARDB的计算与存储分离设计、事务性能优化、代价为基础的优化器及自研的PolarFS文件系统,预示更多新技术和企业级特性即将推出。
摘要由CSDN通过智能技术生成

640?wx_fmt=jpeg

阿里妹导读:在刚刚结束的乌镇世界互联网大会上,阿里云自主研发的POLARDB云原生数据库当选世界互联网领先科技成果,凭实力站上C位。这个”包管“了北京市每天800万人次的公交出行的下一代分布式数据库到底有多强大?我们请阿里云智能数据库事业部总经理鸣嵩跟大家一起聊聊。

POLARDB 是阿里云自主研发的下一代云原生分布式数据库。 POLARDB 100%兼容MySQL、PostgreSQL等开源数据库,高度兼容Oracle语法,使用RDS服务的客户不需要修改应用代码,可以一键迁移到POLARDB,体验更大的容量,更高的性能,更低的成本,和更灵活的弹性。 目前 POLARDB 是阿里云增速最快的数据库产品,广泛应用于互联网金融、政府便民工程、新零售、教育、游戏、社交直播等行业。
 
作为基于计算与存储分离架构的新一代云原生数据库, POLARDB的计 算节点里主要实现了 SQL 解析和优化、以及查询并行执行与无锁高性能事务处理,计算节点之间通过高吞吐的物理复制协议同步内存状态。 而存储层基于分布式文件系统PolarFS,通过ParallelRaft共识算法实现多数据副本间的强一致性,在存储层进行存储引擎的多版本页管理来支持全集群跨计算节点的Snapshot Isolation隔离级别。

基于计算与存储分离的先进架构


计算节点与存储节点之间通过理解数据库语义的智能互联协议将filter和projection等算子从计算层下推到存储层执行。 为了保证事务和查询语句的低延迟,同时降低计算节点之间状态同步的延迟,计算节点和存储节点之间使用25Gb高速RDMA网络互联,采用Bypasskernel的用户态网络协议层进行通讯。 基于计算与存储分离的先进架构,POLARDB可以从1个计算节点(2个CPU核)弹性伸缩到16个计算节点(最高达到1000核)的事务扩展能力,单实例存储容量从10GB按使用量弹性扩展到100TB。

640?wx_fmt=png


计算节点与存储节点分离的架构设计给POLARDB带来了实时的水平扩展能力。 由于单个数据库实例的计算能力有限,传统的做法是通过搭建多个数据库副本来分担压力,从而提供数据库Scale out 的扩展能力。 然而,这种做法需要存储多份全量数据,并且频繁同步日志数据造成了过高的网络开销。 此外,在传统数据库集群上,增加副本需要同步所有增量数据,这带来了同步延迟上涨的问题。

POLARDB 将数据库文件以及Redo log 等日志文件存放在共享存储设备上,确保主实例和所有副本共享同一份全量数据和增量日志数据。 节点间只需要同步内存里的元数据信息,通过MVCC机制的保证,就能支持跨节点读取数据的一致性,非常巧妙地解决了主实例和副本之间的数据同步问题,大大节约了跨节点的网络开销,降低副本间的同步延迟。
 

提升事务性能 POLARDB内核层面优化揭秘


为了提高事务性能,POLARDB 在内核层面进行了大量优化。 把一系列性能瓶颈用无锁(lockless)算法以及各种并行优化算法进行改造,减少甚至消除各种锁之间的相互冲突,大大增加了系统的scalability 能力。 同时,我们依托处理双十一这种大规模高并发场景下的经验, 在 POLARDB 上实现了对库存等热点数据进行优化的功能。 对于简单重复的查询,POLARDB支持直接从存储引擎获取结果,从而减少了优化器及执行器的开销。
<
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值