【IT168 评论】关系型数据库并不新鲜。这个诞生于上世纪70年代的“老古董”,在业内不断涌现出多种不同类型的数据库的情况下,仍然站在舞台的中央,它的地位也依旧不可替代。当前主流的关系型数据库包括Oracle、DB2、SQL-Server、MySQL、PostgreSQL等。
在云计算的广泛应用下,多种主流的关系型数据库也纷纷被移植到了云上。但伴随着大数据的发展,数据量的爆发式增长,企业对数据库性能与存储规模的要求已越来越高。而在云计算从1.0时代向2.0时代不断迈进的背景下,如何在资源型服务的基础上提供更好的应用服务则成为云服务提供商的主要目标之一。单纯地将现有数据库产品移植到云上已无法完全满足企业用户的需求,无论是云服务提供商还是用户,都需要一个完全为云打造的优秀的云原生数据库。
阿里云数据库业务总经理曹伟(鸣嵩)将POLARDB称作是“承载着阿里云数据库从过去1.0时代走向2.0时代的一个标志性的产品”。作为阿里云自研的新一代云原生关系型数据库,POLARDB除了具备关系型数据库的核心特征外,同时也更关注如何满足用户对云服务的特殊业务需求,包括成本、业务连续性及可扩展性等各个方面。
三大核心特性
开发云原生数据库并不意味着建立一个新的“门派”,不能因为业务要迁移到云就必须去适应一套新的编程接口,这是不可取的。因此兼容性是阿里云数据库团队研发POLARDB时的第一理念。包括目前最主流的、开发者最喜欢用的MySQL和PostgreSQL这两种数据库生态,POLARDB都可以做到100%兼容。用户一行代码都不用改,就可以把业务从原来的开源数据库迁移到POLARDB平台。
谈到兼容性的问题时,曹伟的态度甚至有些“强硬”,他表示:“从第一天起我们就不接受99%的兼容,只有100%的兼容。在做技术方案选型的时候,即便有一个方案可能不兼容某些东西,但实现起来更简单,我们也不会妥协,一定是100%兼容。”
如果说100%的兼容性是不可妥协的原则,那性能和容量则更像是一种追求了。性能的重要性自然无需赘述,特别是在如今数据量大幅暴涨的情况下,用户对性能的需求早已不同往日。阿里云数据库团队经过不断地攻坚、优化,使得POLARDB拥有了行业领先的超高性能。经过Sysbench性能测试工具的测试,POLARDB的每秒事务处理量(TPS)可达到22万,而开源数据库只有3.5万次。与开源数据库相比,POLARDB实现了约六倍的性能提升。同时价格不变,为用户节省了大量的成本。
容量扩展也一直是用户的一大难题。以往用户的容量不足时,多数通过两种办法解决:一是扩容,通过切分业务,将数据库进行拆分,再以此实现水平扩展;第二是定期做数据搬移,将访问频次较低的数据迁移到一个冷数据库中,以获得可用的存储空间。但无论是扩容到多个数据库,还是进行数据搬移,对用户来说开发成本都是非常大的,同时还涉及到管理与保证业务连续性的问题。作为云原生数据库,POLARDB可以支持用户弹性扩容,最高可达100TB,而这个容量对99%的用户来说是完全足够的。
除此之外,POLARDB还有一个核心优势就是“一写多读共享同一份数据”。对于一些如淘宝这种读的访问比写的访问多的业务,过去的做法是用“一主多从”的技术来实现。简单来说就是一个主库写,将数据同步给多个从库,再使用这些从库完成读的访问。但这种模式有很大的缺点,第一是造成空间浪费,需要很多副本;第二是扩容时间长,因为添加节点时往往需要拷贝数据。POLARDB的做法是让“一主多从”共享同一个数据副本,无需额外建立多个从库。而且在几分钟内就可以增加一个只读节点并启动服务。
基于以上特性,POLARDB在面向金融保险、电商、游戏行业等读多写少的业务场景以及大容量场景如存储订单和历史数据时,都会展现出巨大的价值。
与Aurora相似又不同
2014年,AWS曾发布了云中的关系型数据库Aurora,这款数据库采用共享存储和读写分离的方式,在提高性能的同时解决了可扩展性问题。它同样也实现了对主流关系型数据库100%兼容,让传统互联网公司可以无痛迁移到云上。
阿里云自研的POLARDB与AWS的Aurora有很多相似点,首先——据曹伟介绍——大家有相似的目标,两家研发云原生关系型数据库产品的驱动力“其实都来自于我们对用户的观察,阿里云今天是全球第三的公有云服务商,在中国市场占有率在50%以上,有几十万的中国客户。通过帮助这些客户解决实际业务问题,我们也发现过去开源数据库直接放在云上卖给用户,有些问题是很难去解决的。”
其次POLARDB与Aurora都有很高的性能与容量。但是相对于Aurora,POLARDB的性能更强,能达到前者的近两倍;容量也更高,Aurora最大容量为64TB,而POLARDB可达到100TB。两款产品都是“一主多从”使用同一个数据副本的形式,而且都是基于共享存储的(Share Everything)的企业数据库。
“Aurora在软硬件结合上比较保守,它没有使用RDMA。”曹伟补充道。在谈到英特尔的傲腾技术时,曹伟给予了极大的肯定,他表示:“英特尔傲腾技术有两个非常大的优点,一是读写延迟非常低,可以稳定在10微妙量级,SSD把HDD延迟降低了一个数量级,而英特尔傲腾技术则又把SSD降低了一个数量级;二是QoS(Quality of Service,服务质量)非常高,由于3D XPoint是一种随机访问的介质,无需对存储空间进行整理,因此拥有很强的稳定性。”
在衡量数据库的QoS时,一般需要测试95%的请求的响应时间,请求返回的时间则作为判断数据库QoS的指标。据曹伟介绍,在使用了傲腾存储产品之后,这个指标大概提升了76%,这种显著的提升,对使用阿里云数据库的用户来说也是非常让人兴奋的。
“这是我们的使命”
企业级数据库对可用性、可靠性、可扩展性等都有很高的要求,对于一些关键的、要求零宕机的业务来说,对数据库技术本身的要求更苛刻。然而目前我国在数据库领域仍然有些比上不足,最直接的,当前我国四大银行所使用的数据库都是ORACLE、DB2等。在谈到选择自研POLARDB数据库的最初愿景时,曹伟说道:“数据库一定是国之重器。我们做POLARDB目标就是将来在国计民生行业,金融企业或者政府核心的业务当中,可以使用国产的自研数据库。我认为,这是我们这一代数据库技术人的使命。”想来,作为承载着阿里云数据库团队使命的一款产品,POLARDB应该是生而不凡的。