阿里云POLARDB:一个生而不凡的数据库

关系型数据库并不新鲜。这个诞生于上世纪70年代的“老古董”,在业内不断涌现出多种不同类型的数据库的情况下,仍然站在舞台的中央,它的地位也依旧不可替代。当前主流的关系型数据库包括Oracle、DB2、SQL-Server、MySQL、PostgreSQL等。

  在云计算的广泛应用下,多种主流的关系型数据库也纷纷被移植到了云上。但伴随着大数据的发展,数据量的爆发式增长,企业对数据库性能与存储规模的要求已越来越高。而在云计算从1.0时代向2.0时代不断迈进的背景下,如何在资源型服务的基础上提供更好的应用服务则成为云服务提供商的主要目标之一。单纯地将现有数据库产品移植到云上已无法完全满足企业用户的需求,无论是云服务提供商还是用户,都需要一个完全为云打造的优秀的云原生数据库。

  阿里云数据库业务总经理曹伟(鸣嵩)将POLARDB称作是“承载着阿里云数据库从过去1.0时代走向2.0时代的一个标志性的产品”。作为阿里云自研的新一代云原生关系型数据库,POLARDB除了具备关系型数据库的核心特征外,同时也更关注如何满足用户对云服务的特殊业务需求,包括成本、业务连续性及可扩展性等各个方面。

阿里云POLARDB:一个生而不凡的数据库

▲阿里云数据库业务总经理曹伟(鸣嵩)在英特尔傲腾技术媒体分享会上发表演讲

三大核心特性

  开发云原生数据库并不意味着建立一个新的“门派”,不能因为业务要迁移到云就必须去适应一套新的编程接口,这是不可取的。因此兼容性是阿里云数据库团队研发POLARDB时的第一理念。包括目前最主流的、开发者最喜欢用的MySQL和PostgreSQL这两种数据库生态,POLARDB都可以做到100%兼容。用户一行代码都不用改,就可以把业务从原来的开源数据库迁移到POLARDB平台。

  谈到兼容性的问题时,曹伟的态度甚至有些“强硬”,他表示:“从第一天起我们就不接受99%的兼容,只有100%的兼容。在做技术方案选型的时候,即便有一个方案可能不兼容某些东西,但实现起来更简单,我们也不会妥协,一定是100%兼容。”

  如果说100%的兼容性是不可妥协的原则,那性能和容量则更像是一种追求了。性能的重要性自然无需赘述,特别是在如今数据量大幅暴涨的情况下,用户对性能的需求早已不同往日。阿里云数据库团队经过不断地攻坚、优化,使得POLARDB拥有了行业领先的超高性能。经过Sysbench性能测试工具的测试,POLARDB的每秒事务处理量(TPS)可达到22万,而开源数据库只有3.5万次。与开源数据库相比,POLARDB实现了约六倍的性能提升。同时价格不变,为用户节省了大量的成本。

  容量扩展也一直是用户的一大难题。以往用户的容量不足时,多数通过两种办法解决:一是扩容,通过切分业务,将数据库进行拆分,再以此实现水平扩展;第二是定期做数据搬移,将访问频次较低的数据迁移到一个冷数据库中,以获得可用的存储空间。但无论是扩容到多个数据库,还是进行数据搬移,对用户来说开发成本都是非常大的,同时还涉及到管理与保证业务连续性的问题。作为云原生数据库,POLARDB可以支持用户弹性扩容,最高可达100TB,而这个容量对99%的用户来说是完全足够的。

  除此之外,POLARDB还有一个核心优势就是“一写多读共享同一份数据”。对于一些如淘宝这种读的访问比写的访问多的业务,过去的做法是用“一主多从”的技术来实现。简单来说就是一个主库写,将数据同步给多个从库,再使用这些从库完成读的访问。但这种模式有很大的缺点,第一是造成空间浪费,需要很多副本;第二是扩容时间长,因为添加节点时往往需要拷贝数据。POLARDB的做法是让“一主多从”共享同一个数据副本,无需额外建立多个从库。而且在几分钟内就可以增加一个只读节点并启动服务。

猜你喜欢

转载自my.oschina.net/u/3611008/blog/1821854