在当前越来越强调云原生的环境下,存储计算分离已经是大势所趋。几乎所有我们熟知的公有云数据库都已经开始使用存算分离实现资源价值的最大化,比如阿里的PolarDB,AWS 的Aurora,华为GaussDB for MySQL等。
大量企业自建数据中心也开始采用“开源数据库+存算分离”的方式进行部署。
那么,我们来看看这些先进的互联网公司和数字化转型的企业,是怎么不约而同在数据库改造中一步步走向“存算分离”的呢?
分布式数据库是时代的选择
从1970年IBM的E.F Codd在论文《A Ralational Model of Data for Large Shared Data Banks》中提出的数据库系统关系模型,开创了数据库关系方法和关系数据理论的研究,为数据库技术奠定了理论基础,到1977年 Oracle数据库发布,开启了IBM DB2和Oracle等大型商业公司垄断数据库市场二十年。
直到90年代中期,随着互联网时代的来临,开源数据库MySQL,PostgreSQL的出现,这种垄断现象才被打破,以MySQL为代表的开源数据库开始迅速发展。
21世纪10年代,数据的井喷式增长,对数据库提出了水平扩展,大集群规模,高并发等新诉求,紧接着随着公有云的蓬勃发展,以云为载体兼具高可扩展性、高并发性、高可用性的分布式数据库,如谷歌Spanner,Snowflake,AWS Aurora等逐渐走进我们的视野。
至此我们可以看到分布式数据库的诞生是顺应时代的发展,是时代的选择。
分布式数据库改造,存算一体部署之殇
分布式数据库最成功的应用场景就是支撑了早期电商业务的快速发展,然而随着企业数字化转型的深入,数据总量和形式呈现指数级的增长,数据库要应对的是不断飙升的业务下高性能、高可靠的挑战;与此同时,不断飙升的业务高峰还要求数据库有极好的弹性伸缩能力、持续服务能力和合理的成本。
而原有的分布式数据库“存算一体”,采用服务器本地盘的部署方式就越发显得力不从心。
例如,由于计算、存储资源捆绑,在应对如双11这类突发资源高峰时,无法只对计算资源进行快速扩容,分布式改造后无法支持单独弹性扩展,有悖分布式改造的初衷。
以某运营商为例,在基于MySQL开源软件自研的数据库使用服务器本地盘部署的模式下,计算资源(CPU和内存)与存储资源(SSD磁盘)存在着不可调和的冲突(使用不均衡、扩容受限、运管困难等),并带来成本的增加。
而这类问题在互联网、金融、运营商一些云转型企业中尤为突出:
01
可靠性低
“服务器可靠性低,出问题数据无法访问甚至就都丢了,必须用多从同步来补可靠性的缺口”,“服务器网络抖动或磁盘亚健康问题很难监控处理,影响系统稳定性”,“服务器故障修复需要比较长时间,不能放太多实例”。
02
运维困难
“更换设备或扩容需要搬迁数据库,全量同步数据很慢”,“以前数据库数量小,现单库拆分成数10个实例,未来全网整改后,预计上千个实例,运维太复杂”,“原来只有两台小型机,现在需要20多台机器,4、5个机柜,机房和电都不够了”。
03
成本高
“存算绑定,无法弹性扩容”,“资源闲置,CPU利用率低”,“为保证可靠性增加副本数,现有架构成本是原来的1.5倍”。
怎么去解决分布式数据库架构上服务器本地盘部署这一系列问题呢?业界一直在不停的探索,2014年AWS首次推出了Aurora,阿里在2017年推出了PolarDB,华为云在2020年推出了GaussDB for MySQL,华为存储也在2021年针对企业自建数据中心,推出OceanData分布式数据库存算分离方案,希望基于成熟的基础设施“云”化技术,解决分布式数据库架构上的短板。
云原生数据库:
即在动态“资源池”基础上,通过数据库内部计算与存储分离,将存储管理放到下层共享存储中,从而解决数据同步带来的延时问题,并同时增加了计算能力的横向扩展性。如:Aurora、PolarDB等。
——摘自2019年信通院《关系型云数据库应用白皮书》
业界云原生实践:“存算分离”,共享存储是分布式数据库的最优选择
没有一个概念和架构是无缘无故凭空冒出来的,存算分离也是业界基于当前分布式改造的现状和本地盘部署的弊端不断探索出来的,更是互联网,数字化转型企业的共同选择。
存算分离带来的四大价值
可靠性提升:外置共享存储可靠性结合云原生故障隔离和迁移能力,解决一体化方案可靠性短板,并为降低资源冗余提供基础;
资源优化:解决数据快速移动,实现计算、存储弹性扩展,按需分配,减少因可靠性、运维能力不足造成的硬件冗余
能力复用:使用共享存储成熟的备份恢复、SSD介质延寿、亚健康等能力,快速提升数据库整体解决方案能力,节约开发成本
架构先进:基于开放生态存储底座,可快速实现云原生数据库能力,不影响上层应用,实现平滑演进;
各行业在数字化转型中都面临着业务量爆炸性增长,业务互联网化等挑战。为了在新形势下提升服务体验,国内某运营商联合华为开展创新和应用实践,采用分布式数据库存算分离方案构建高效BSS系统,实现了计算、存储资源在线弹性扩容,整体资源利用率从10%提升到50%;数据重建恢复全自动化,恢复时间从3小时缩短至5分钟;共享存储带来设备级6个9高可靠。
【总结】
随着5G、分布式技术、云计算技术的不断发展,及各行业数字化转型的不断深入,数据库云化、数据库云原生架构已成为趋势,计算、存储分离,采用共享存储的方式是数字化转型的企业共同的选择。