当前位置:首页 > 问答 > 正文

阿里云自己造了个商用关系型数据库,叫POLARDB,好像挺厉害的样子

根据阿里云官方网站的介绍,POLARDB是阿里云自主研发的一种云计算时代的 relational database,也就是我们常说的关系型数据库,它的设计目标就是为了解决传统关系型数据库在云上环境遇到的一些瓶颈问题,比如扩展性、成本和高可用性。(来源:阿里云官网POLARDB产品页)

阿里云觉得在云上继续使用像MySQL、PostgreSQL这类传统数据库的架构,有点像是给一辆高性能跑车装上马车的轮子,无法完全发挥云计算的真正潜力,传统的数据库通常采用“共享存储”或“共享一切”的架构,这在需要频繁读写大量数据、或者业务量激增需要快速扩容时,往往会成为性能的瓶颈,当数据库的存储空间快用完时,扩容过程可能会非常麻烦,甚至需要停机,这对于很多需要24小时不间断运行的在线业务来说是难以接受的。(来源:阿里云官方技术博客对数据库架构演进的阐述)

POLARDB采用了一种被称为“存储与计算分离”的架构,这个听起来有点技术性的词,其实可以打个比方来理解:传统的数据库就像一台老式电脑,它的计算能力(CPU和内存)和存储空间(硬盘)是紧紧绑在一起的,想升级硬盘或者换更快的CPU都可能要动大手术,而POLARDB则像是一台现代化的、高度模块化的电脑,它的“大脑”(负责处理计算和查询的部分)和“仓库”(负责存储数据的部分)是分开的、独立的,它们之间通过一个非常高速的网络(通常是云服务商内部的极速网络)连接起来。(来源:阿里云在云栖大会等场合对POLARDB架构的多次讲解)

阿里云自己造了个商用关系型数据库,叫POLARDB,好像挺厉害的样子

这种架构带来了几个非常直观的好处,扩展性变得极其灵活,当业务高峰期来临,访问量暴增,计算能力不够用时,用户可以单独为POLARDB增加“大脑”(即计算节点)的数量或规格,这个过程可以在几分钟内在线完成,几乎不影响现有业务的运行,反过来,如果数据量快速增长,存储空间快满了,也可以单独对“仓库”(存储空间)进行无缝扩容,最大可以支持到100TB,这个扩容过程对上层应用是完全透明的,应用系统完全感知不到。(来源:阿里云官网POLARDB产品特性说明)

在成本方面可能更有优势,因为计算和存储分离,用户可以根据实际需求独立为计算资源和存储资源付费,避免了资源的浪费,特别是在数据量很大但计算访问并不频繁的场景下,这种按需分配的模式可以节省不少成本。(来源:阿里云关于云数据库TCO总拥有成本的分析)

阿里云自己造了个商用关系型数据库,叫POLARDB,好像挺厉害的样子

第三,高可用性和数据可靠性得到了加强,POLARDB通常采用一写多读的架构,一个主节点负责写数据,多个只读节点可以分担读请求,这不仅提升了读性能,也提供了天然的备份,更重要的是,它的数据在底层存储上默认会保留多份副本(通常是三副本),任何一份副本损坏,系统都会自动从其他副本恢复数据,极大地保证了数据的安全,阿里云声称其数据可靠性达到了99.9999999%(9个9),这意味着数据丢失的概率极低。(来源:阿里云官网POLARDB服务等级协议SLA和数据可靠性承诺)

POLARDB的一个很大优点是它很好地兼容了开源数据库的生态,目前它主要兼容三个流行的开源数据库引擎:MySQL、PostgreSQL和Oracle语法兼容模式,这意味着很多原本使用这些开源数据库的应用,可以以较小的改动甚至无需改动代码,就能迁移到POLARDB上,享受它带来的高性能和高可扩展性,降低了用户迁移的门槛和风险。(来源:阿里云官网POLARDB兼容性文档)

根据一些公开的测试数据和用户案例,比如在2021年的权威TPC-C基准测试中,POLARDB曾经创造了当时云上联机事务处理OLTP性能的世界纪录,这在一定程度上证明了其架构的优势和性能的强大,一些知名的互联网公司、金融机构等也对POLARDB有所采用,用于支撑其核心业务系统。(来源:阿里云官方发布的TPC-C基准测试结果公告及部分客户案例分享)

总结来看,阿里云造出POLARDB,确实是其在核心基础软件领域自主研发的一个重要成果,它并不是对传统数据库的简单模仿,而是针对云计算环境的特点进行了重新设计,试图解决传统架构的痛点,它的“厉害”之处主要体现在弹性伸缩、高可用高可靠、以及与主流开源数据库兼容从而易于迁移这几个方面,旨在为企业上云提供一个更现代化、更强大的数据库选择。(综合自阿里云官方对POLARDB的定位和宣传资料)