[关闭]
@Helene 2017-09-18T09:51:56.000000Z 字数 3054 阅读 2042

有人说阿里云这款数据库比 AWS Aurora 性能好太多,你服不服?

PolarDB Aurora


在这个信息化的时代,我们的一举一动都离不开与数据打交道,特别是云计算和大数据时代的到来,使得传统数据库的性能已无法满足海量数据的实时交易查询需求,在性能和成本的双重压力之下,云计算下的数据库需要寻找突破之路。

很长时间以来,关系型数据库一直是大公司的专利,市场被 Oracle, DB2 等企业数据库牢牢把持。但是随着互联网的崛起、开源社区的发展,上世纪九十年代 MySQL 1.0 的发布,标志着关系型数据库的领域社区终于有可选择的方案。

云计算时代 关系型数据库如何实现进化?

回看去年,通过 Gartner 发布的《 2016 年数据库管理系统魔力象限》可以看出一丝端倪,报告称,除了甲骨文、微软、 IBM 和 SAP 这几个老牌厂商外, AWS 于 2015 年成功挤入了数据库领导厂商(Leaders)这个阵营,并连续 2 年稳居其中。而在这之前,操作数据库管理系统的企业市场似乎还如同铜墙铁壁,除了老牌厂商外,其他厂商休想打进来。

AWS 一个云计算厂商怎么会位列数据库管理系统魔力象限的Leaders象限呢?引用 Gartner 的解释, AWS 之所以位列 Leaders 象限,其实就2方面的原因,市场份额和产品能力。

数据显示, AWS 在全球云市场的份额超过 40% ,而微软和 Oracle 加起来勉强能到 20% ;另有消息称, AWS 的数据库收入占整体收入的10%。更有数据显示,去年,亚马逊的 DynamoDB 数据库的同比增速是 473 倍, Aurora 增速是70倍。而大家比较熟悉的MySQL的增速是 -20%,却在下降。尽管亚马逊的云数据库还比较小,但增速的确令人瞠目结舌。

与许多云计算服务提供商不同, AWS 显然是不大会购买云计算基础设施,而是选择自主开发和制造。在今年5月份, AWS re:Invent 2017 大会与数据库顶级会议 SIGMOD 上, Amazon 首度公开了 Aurora 的技术细节,目的显而易见是为提高了用户对 AWS 平台的粘性。可见 AWS 还非常关注数据库应用服务,不仅因为这是另外一个利润丰厚的云子市场,更是各大云计算厂商决胜的关键因素之一。

曾经一位业内人士这样分析过:做云计算但没有数据库的厂商,除了使用不成熟的开源数据库产品和养肥了市场等着上面几家收割,或被排挤出这个利润丰厚的市场外,只有研发数据库一条出路。而这正是云计算厂商代表 AWS 做出的选择。

当然,国内厂商也看到了这块诱人的大饼,在背后一直默默的布局着。

为何阿里云要研发新一代的关系型数据库 PolarDB ?

还记得今年五月份被刷屏的 WannaCry 勒索病毒吗?相信大家都感同身受,国内不少政府机构、事业单位如工商、税务、高校、加油站、车站等,一大早上班都不得不先拔掉网线再开启电脑上班。曾经的棱镜门事件亦是震动全国,每次风波过后,国产数据库总会迎来新一波的发展机遇。其实大家都明白,自主可控才是实现我国信息安全的根本解决之道,因此,数据库作为基础软件之一,一直是国家信息化发展的重中之重。

今年阿里云紧随亚马逊的步伐,自主研发了新一代关系型数据库 PoalrDB 。 PolarDB 作为国内首个自主研发的通用云数据库,它拥有商业数据库一样的性能,但价格仅为前者的 1/10,进一步降低用户的上云成本。作为云托管的关系型数据库,除了关系型数据库的核心特征之外, PoalrDB 更多的关注于如何提供满足用户业务需求的云服务,并且通过技术革新,不断进化,在提供更好的数据库计算力的同时,满足用户以下业务需求:上云成本、OLTP 性能、业务连续性、在线业务扩展、数据安全。

据悉,9月21日, PolarDB 将推出的公测版本,和 MySQL 完全兼容,即现有 MySQL 应用程序和工具无需修改即可运行,
解决了存储扩展和 qps 扩展的问题,性能高,成本很低,同时是高可用三副本,共享存储架构。

Polar DB 代表一种创新和技术的提升

今天不只是阿里云要做这样一款关系型数据库,而是所有的云计算厂商都不可避免的要经历这样一个阶段。那就是云计算时代传统IT计算力的重建和进化。 PolarDB 并不是重复 Oracle, IBM 等的脚步,而是一种创新和技术的提升。

Amazon Aurora 是 MySQL 的五倍性能

Amazon Aurora 通过将数据库引擎与为数据库工作负载构建的基于 SSD 的虚拟化存储层紧密集成,使性能大幅超过 MySQL,从而减少至存储系统的写入操作,最大程度降低锁竞争并消除数据库进程线程所产生的延迟。根据 SysBench 对 r3.8xlarge 实例进行的测试表明, Amazon Aurora 每秒提供超过 500,000 次选择和 100,000 次更新,是在同一硬件上运行相同基准的 MySQL 的 5 倍。

PolarDB 与 Aurora 设计理念如出一辙

产品架构上,阿里云 PolarDB 采用了与 Amazon Aurora 相同的设计哲学。都放弃了通用分布式数据库OLTP多路并发写的支持,采用一写多读的架构设计,简化了分布式系统难以兼顾的理论模型,又能满足绝大多数OLTP的应用场景和性能要求。

PolarDB 采用存储与计算分离的技术架构,同时可以支持更多的只读节点。主节点和只读节点之间是 Active-Active 的 Failover 方式,计算节点资源得到充分利用,由于使用共享存储,共享同一份数据,进一步降低了用户的使用成本,满足公有云计算环境下用户业务弹性扩展的刚性需求。

PolarDB 的设计思想有几个大的革新。一是通过重新设计特定的文件系统来存取 Redo log 这种特定的 WAL I/O 数据,二是通过高速网络和高效协议将数据库文件和 Redo log 文件放在共享存储设备上,避免了多次长路径 I/O 的重复操作,相比较 Binlog 这种方式更加巧妙。另外在 DB Server 设计上,采用 MySQL 完全兼容的思路,完全拥抱开源生态,从 SQL 的编译、性能优化器和执行计划等等都保留了传统关系型数据库的特色。并且针对 Redolog的I/O 路径,专门设计了多副本共享存储块设备。

我们知道,分布式数据库一直是数据库领域的热点,具有非常大的实现难度。不管是遵循 CAP 理论,还是 BASE 思想,通用的分布式关系型数据库基本上很难做到技术和商用的完美平衡。与 SQL 标准以及主流数据库兼容, OLTP ACID事务 100% 支持, 99.99% 的高可用,高性能低延迟并发处理能力,弹性 Scale Up , Scale out 可扩展性,备份容灾和低成本迁移等等,能够完美兼顾所有这些特点的商用关系型数据库还没有出现。

PolarDB 性能真的比 Aurora 高吗?

当年,记得 Aurora 刚刚出来的时候,业界有质疑的声音:“ Aurora 会不会充其量就是一个翻版的 MySQL ?”今天,当阿里云全新一代 PolarDB 出来,会不会也会有质疑的声音。

据业内人士透露,阿里云这款数据库比 AWS Aurora 性能好太多,这是真的吗?如果是真的,那性能比MySQL好太多太多了,你服不服?必须服,青出于蓝而胜于蓝!

我们来看看性能指标吧。业界通常用 SysBench来测试,包括亚马逊的 Aurora 与 MySQL 的对比,而在阿里云内部是用用户典型场景和数据来对比 PolarDB 和 RDS 的。

Amazon Aurora 优于 MySQL 的一个地方就是具有大量并行工作负载。 那 PolarDB 优于 Aurora的地方,有哪些具体的呢?(9月21日,期待揭晓。)

今年,在 Gartner 将发布的《2017年数据库管理系统魔力象限》会不会出现阿里云的身影,我们拭目以待。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注