数据库市场形成今天的格局已经很久了,商业数据库为王,这几乎没有变过。不过,云来了,以 AWS、阿里云为代表的云服务商携云原生数据库发起了新一轮挑战。与以往历次的挑战不同,这次的竞赛换了赛道。

 

3 月 21 日,阿里云对外发布了 POLARDB v2.0。此前的 POLARDB 针对的是 MySQL 用户,这一次 POLARDB 还可以兼容 Oracle 数据库。据悉,这也是首个兼容 Oracle 的云原生数据库,可帮助金融、医疗、制造等大型企业在数小时内完成业务迁移,10TB 数据备份只需 10 分钟。

 

因云而生的 POLARDB

数据库诞生于上个世纪 70 年代,经过这些年的发展,无论是技术还是市场格局都已经趋于稳定,因此市场很长时间以来一直处于波澜不惊的状态,不过,云时代的到来打破了这种平静,因为在云时代传统数据库面临很多新的挑战,这就给了新生的云原生数据库以机会。

 

在 2019 阿里云峰会·北京站上,阿里云智能总裁张建锋在演讲时曾提到了云给这个世界带来的三个变化,即 IT 基础设施的云化、核心技术的互联网化、应用的数据化和智能化。

 

“基础设施的云化需要一套新的系统,需要基于互联网技术来进行改造。因此,下一代的技术一定构建在互联网技术和云化基础设施上的。”张建锋表示。

 

而阿里云的数据库 POLARDB 正是适应基础设施的云化而诞生的,正因为此,POLARDB 这类数据库也被称为云原生数据库,包括 AWS 的 Aurora 也是这一类型的代表。

 

实际上,阿里云早期也是传统数据库的使用者,正是因为云的诞生,因为自身业务不断成长,发现传统数据库越来越难以满足自身的需求,才有了自研的云原生 POLARDB。

 

“阿里的业务很复杂,数据量很大,随着业务的发展,基于开源数据库的分布分表中间件的解决方案已经不能满足。这就是 POLARDB 诞生的直接原因。”阿里云智能数据库产品线总负责人李飞飞说。

 

享受云等诸多技术红利

作为一款诞生于云时代、一开始就架构在云平台之上的云原生数据库天生地具有很多优势。比如,弹性伸缩能力就是云原生数据库最重要的特点,即当用户业务量低的时候,就少分配资源;当业务负载高的时候,通过只读节点等逐渐扩展的方式,让数据库支持业务的增长。这种弹性伸缩的能力还带来另一个好处,就是按需付费,成本节约。所以,云原生数据库往往具有更高的性价比。

 

“传统数据库的典型架构就是单节点架构,有存储引擎、查询引擎和优化器引擎,再上面是 SQL Parser,这一套架构中存储和计算是绑定在一起的,而云原生数据库存储与计算是分离的。”李飞飞表示。

 

李飞飞介绍说,POLARDB 采用的是分布式共享存储架构,计算与存储分离。由于计算与存储的解耦,存储就可以通过 RDMA 高速网络做成一个分布式存储,而看起来仍然像一个本地盘。正是由于采用了计算与存储分离的架构设计使得 POLARDB 的最大数据容量可以达到 100TB,这是开源数据库难以企及的,也成为 POLARDB 很多早期用户采用它来取代 MySQL 的一个主要原因。

 

除了借助 RDMA 等网络技术实现弹性伸缩能力之外,POLARDB 还享受了很多现代技术的红利。比如,POLARDB 采用了英特尔的傲腾——这是一种访问速度介于内存和 SSD 之间的新型存储介质,如果需要扩容,可以在 5 分钟之内完成节点规格的升级和进行只读节点的扩展,极速适配。

 

实际上,傲腾的对数据库的影响不只是快速,它也在一定程度上改变了数据库的设计逻辑,让数据一旦写了之后实时就可持续性了,持久化了。

 

另外,像 GPU 加速在 POLARDB 中也有采用。在 POLARDB 中一些重复性或相似性比较高的计算,会 Offload 到 FPGA 来做,通过 FPGA 的定制化的计算模块重复调用,来节省 CPU 的时间,从而带给用户更好地体验。