阿里云平台承载着千万家中国企业以及数十万家企业出海的要求,覆盖金融、政府、国企、游戏、电商、媒体等众多行业。
满足用户的需求,是云计算研发人员的最大目标,设计POLARDB也是因为用户的需求。
早期基于开源环境,用户自己简单搭建一个架构就能运行起来,但随着业务的发展,行业用户对数据库的要求也与日俱增,如性能要更强,容量要更大,兼容性更好,运维也要更加便捷,同时还不能修改其源代码……这成为阿里云开发POLARDB的思路。
阿里云数据库团队负责人曹伟
阿里云数据库团队负责人曹伟解释,开发POLARDB产品的出发点,是针对客户高性能数据库的需求;针对客户大容量数据库的需求,以及成本和数据扩容速度、更灵活的计费形式等方面的需求。
三大核心目标:重新定义下一代云数据库
随着数据量的膨胀,越来越多企业将其IT资产迁移到公有云上,这引发了人们对云数据库现状与未来趋势的反思。
POLARDB是全球首款使用了RDMA技术和傲腾存储技术的公有云数据库。作为一个商业化的产品,POLARDB拥有了来自十多个行业的上千用户。
阿里云开发企业级的云数据库POLARDB有三个核心目标。
一是HTAP:TP+AP,TP指的是事务性数据库,比如在淘宝上下一个单,这个订单被写到数据库里,OLAP是对用户消费习惯进行分析的时候需要对海量数据进行扫描。过去方案都是将TP数据同步到AP系统中,用户开发成本很高。
曹伟认为,未来云数据库将是包含有AP和TP两种数据的拷贝。
云数据库的第二个发展趋势是Serverless(无需定时维护)。以往用户购置数据库都是配置在服务器上,不管用不用,从购买的第一天开始就付费。未来云计算都是按量付费方式,当所有云厂商都提供这种服务的时候,传统的计费模式就会被淘汰。
第三大趋势是智能化。过去索引优化、SQL优化以及执行计划的优化,大都基于多规则,而利用大量用户使用数据库的优化模式来得到更智能的策略,将成为新的趋势之一。
POLARDB创新性地采用共享磁盘的计算与存储分离的架构来实现可扩展性与高性能。
计算节点与存储节点分离,分别优化
阿里云将计算节点、存储节点分离,把数据库层的计算放在计算节点层,数据库存储放在存储节点,分别优化。计算节点采用大内存、更高主频的CPU优化;存储节点以性价比更高的3D NAND、傲腾技术来进行优化,计算层实现了灵活调度,最终提高了性能、降低了成本。
借助用户态的网络协议站和用户态的I/O协议栈等技术以及对存储端保证3副本或者5副本的同步,阿里云实现全球容灾能力。
在硬件方面,阿里云采用了RDMA技术、ROC技术以及英特尔的Web技术、傲腾技术以及基于3D XPoint颗粒的Apache Pass这样的NVDIMM的技术。阿里云正在与英特尔以及更多的存储厂商合作Open Channel SSD技术。
在曹伟看来,这些即将面市的创新硬件将从根本上改变数据库的设计模式,从而创造出更好、更强、更低成本的数据库产品。
当前,阿里云POLARDB达到了开源的MySQL能力的6倍性能。在存储节点,由于使用了傲腾SSD以及英特尔的3D NAND SSD,通过混合存储技术和用户态I/O协议栈技术,阿里云将数据库的性能提高了30%;因为傲腾技术创新的3D XPoint介质比NAND颗粒提供了更好的I/O延迟和I/O QoS稳定性,在数据库的整体QoS上阿里云在95%延迟的指标上提升了76%的性能。
从阿里云在Optane加速POLARDB的实践来看,从阿里云的角度来看,唯有多个层次上的创新才能提供有竞争力的产品方案。阿里云在软件系统上的研发投入以及成果有目共睹,应对双十一的海量并发就是最好的例证,在数据库这样的基础关键软件上的有所创新,在底层的硬件上也有许多研究和突破,与英特尔的此次合作正是建立在这一基础之上的。
在现场,曹伟还表示,这一合作当中,确实需要阿里云做出许多优化。换言之,如果没有技术积累的话,是很难有今天的合作成果的。
从对于存储市场发展的角度来看,我们欣喜的看到了英特尔基于创新的3D Xpoint技术的实际应用,3D NAND不再是SSD的唯一标准,因为Optane在创新的应用场景下展现出了独特价值,低延迟、高耐久性等,随着未来英特尔继续对3D Xpoint技术的不断开发,相信会展现出更大的价值空间。