全闪也混合?阿里云POLARDB实现高价效比混合全闪云原生数据库 许多年以前,传统数据库一统天下,企业使用者的核心应用也是基于这样的底层而构建,集中式架构代表着一个时代。 现在,云端计算深入各行各业,来自公共云供应商层出不穷的创新,也在数据库领域开拓出来了一片新天地,以分散式架构为代表的一个新时代,正在以前所未有的速度革新著全球数以千计、万计的使用者。 而这一切的变化,皆来自企业使用者数字化转型带来的影响与结果。 All in Cloud,云原生数据库生逢其时 在2019年3月,一则业内讯息引发了我的注意,阿里云POLARDB成为业内首个相容Oracle的云原生数据库,并为企业使用者提供多样化的数据库解决方案,以此方便企业使用者将其应用程序迁移和部署到云上。 在企业All in Cloud时代,云原生数据库兼具开源数据库的易用、开放特点,以及传统数据库的管理和处理效能等优势,成为企业的首选。为了更好地满足企业使用者对于云的需求,Oracle这样的传统数据库厂商也在不断走向云化,对于传统数据库厂商来说,迈向云端计算的转型中,自然少不了为传统数据库产品加入适应云端计算的特性、功能与服务。 不过,以阿里云、AWS等公共云供应商的云原生数据库激进派,却已经在该领域打下了坚实的基础。 早在2014年,AWS释出了全球首个云原生关系型数据库Aurora。 阿里云紧跟其后,2017年,面向全球释出了自研的首个云原生数据库POLARDB,然而效能却在当时达到了Aurora的两倍左右。 全球公共云供应商在数据库领域的创新动力也令传统数据库厂商惊讶不已,公共云供应商基于分散式创新架构带来的新机遇,互相在云原生数据库领域你追我赶,也加速了云原生数据库在更多行业领域的应用。在云时代,一切变化皆有因。
阿里云在数据库领域的激流勇进,足显公共云供应商在满足企业使用者需求上的努力与创新。
由此而来,作为企业IT系统的核心,数据库在过去多年中发展趋于缓慢,在云端计算大潮的推动下却又呈现出一派勃勃生机。随着企业数字化程序的加快,传统数据库固有的防线正在被一点点破裂,云原生数据库生逢其时,也为企业使用者带来了云时代特有的价值和应用创新动能。
让储存与计算分离,分散式数据库解放新IT
在云时代资料成为企业使用者的资产的时候,云端计算也就成为了企业新时期的新IT。
可是,企业使用者面临数字化转型的挑战中,海量资料和海量并发带来的难题再一次束缚了企业IT的生产力。
如何再一次解放IT生产力?那么这就必然需要一个有着天然分散式基因的底层数据库来做强大的支撑,否则,这一切的发展都很难再继续进行。
然而,想要推出这样一款强大的分散式数据库,必然也需要一个大规模应用场景来进行不断的验证与创新。
毋庸置疑,阿里已经拥有了一支全球的数据库团队。研发能力强大的同时,加上应用场景的强大,从而让阿里分散式数据库得到了前所未有的发展。
比如多年以来阿里在双11全球最高峰值的打磨下,也让阿里巴巴在分散式数据库架构经受住了严苛的实际考验。
谁都知道像双11这样的场景,全球范围内也是特例了,对于数据库承载的资料规模和并发量,也十分惊人。
相对于传统数据库,阿里云分散式数据库有着天然分散式的良好基因。
传统数据库采用单节点架构,储存和计算系结在一起,这对于当前企业使用者有着大规模应用与并发的场景下,很难适应得了。
分散式数据库采用解耦合的共享储存,通过RDMA网络形成分散式共享储存,可以实现一写多读共享储存的模式。
共享储存的是一份资料,不再针对分散式节点之间看资料状态,目前分散式共享储存还不能无限制扩充套件,阿里云只能十多个到二十个左右储存节点的共享实现。
如果要更大扩充套件,就需要分库分表,阿里云不需要对使用者业务逻辑做深度改造,原生分散式数据库技术可以实现业务逻辑做最小改动,允许业务逻辑跨共享的查询和事务处理,分散式事务、分散式查询的优化可以尽量减少对业务逻辑的改变。
阿里云POLARDB采用了储存与计算分离的设计理念,数据库计算节点和储存节点之间采用高速网络互联,并通过RDMA协议进行资料传输,使得I/O效能不在成为瓶颈。
由此,分散式数据库带来了计算与储存的分离,底层支撑的强大,自然为数字化转型加速的企业使用者再一次解放了新IT的生产力。
POLARDB效能强大,源自背后推手的秘诀
POLARDB以分散式共享储存架构为基础,其中一个关键在于:使用了英特尔®傲腾™DC固态盘(SSD)和英特尔®3DNAND固态盘。
为了满足企业使用者在公共云中的数据库与资料迁移等应用需求,随着阿里云POLARDB的创新,一种新的DBaaS模式也为企业带来了云时代的便利。
当然,阿里云POLARDB的DBaaS模式采用了软件定义的创新性,并使用了两种SSD。一类SSD是来自英特尔®傲腾™DC固态盘,具有快速、低延迟的特点;另一类SSD也是来自英特尔®3DNAND固态盘,具有低成本、高容量的优势。
POLARDB有着如此优秀的表现,必然少不了背后推手的秘诀。
进一步分析来看,POLARDB在软件层将高速、高容量的英特尔®傲腾™DC固态盘和高吞吐量的英特尔®3DNAND固态盘结合起来,实现了一个混合型储存层。这种采用两类SSD相结合的方式,与储存层只使用英特尔®3DNAND固态盘相比,整体价效比高出很多。由此,在这样的混合型储存层应用模式下,也让企业从中受益匪浅。
为了实现卓越的储存效率、高QoS、高IOPS、高吞吐量和始终如一的效能,POLARDB所有软硬件设计均采用高可靠性、高可用性的云原生设计,从而也实现了高效协同,包含与底层英特尔®硬件的协同。
然而,POLARDB在采用了英特尔两类SSD混合型应用模式后,其效能的强劲,却在成本上也尤为突出。这样的效能表现,只需要传统内部部署的关系型数据库大约一成的成本。
因此,英特尔®傲腾™DC固态盘和英特尔®3DNAND固态盘相结合,明显有助于POLARDB降低使用者成本,优化储存效能。并且,英特尔®傲腾™DC固态盘帮助阿里云消除了资料中心储存瓶颈,可容纳更大、更经济实惠的的资料集,加快了应用速度,降低了对延迟敏感的工作负载的事务成本,降低了POLARDB的资料中心总拥有成本(TCO)。
目前,企业使用者可以在每个POLARDB储存节点都使用一个英特尔®傲腾™DC固态盘P4800X系列硬盘来快速建立日志记录和索引。同时,可以使用若干英特尔®DC固态盘P4500系列硬盘来储存资料。阿里云端储存效能开发套件(SPDK)将资料写入每个英特尔®3DNAND固态盘的NVMe界面,而不必访问同步的内存。
在部署英特尔®傲腾™DC固态盘之前,使用者的日志记录和资料一并储存在资料中心内基于NVMe的英特尔®固态盘上,需要访问同步的内存。
可见,绕过同步的内存可以提高POLARDB的效能,降低延迟。
当然,对于企业使用者来说,采用POLARDB还有其他效能优势:
一是,使用基于融合以太网的RDMA(RoCE)网络协议来降低延迟,减轻CPU负载,提高带宽;
二是,借助软件定义的堆叠绕过Linux*核心,可以让POLARDB以使用者模式执行,有助于降低开销;
三是,无需使用二进位制日志,缩短了事务时间,降低了输入/输出(I/O)开销。
不过,如今的阿里云POLARDB数据库已经升级到了2.0版本,其效能也达到了一个新的高度。
POLARDB的2.0版本可以实现高达一百万每秒输入/输出(IOPS),而且只有毫秒级的延迟。POLARDB还可以在10分钟内按需纵向或横向伸缩。目前,POLARDB可以实现每一个节点做到100TB容量,让跨区域、跨共享区的复杂度降低。相比之下,同类解决方案只能达到64TB。
与此同时,POLARDB在储存容量和克隆操作上有着自动伸缩的优越特性。而且,POLARDB与MySQL5.6和5.7完全向后相容,这不仅彰显了POLARDB效能的优越性,同时也彰显了对生态相容的开放性。
展望阿里云POLARDB数据库的未来发展,必然也是需要SSD技术厂商的长期持续不断的合作,这样更利于数据库效能的极大发挥。
综上所述,英特尔与阿里云等客户密切合作,共同携手,实现数据库在云时代的创新,不断帮助全球使用者改善企业数据库的体验,提升企业竞争力,实现数字化程序的加速。