Amazon Aurora

Amazon Aurora 调研

目录

  1. 官方介绍

  2. 宣传特点

  3. 概念与架构

  4. 性能、HA探讨

  5. 质疑、亮点

  6. 结论

  7. 参考文档

<a name="官方介绍"></a>官方介绍

  • Amazon Aurora 是一个关系型数据库引擎,结合了高端商用数据库的速度和可用性,同时还具有开源数据库的简单性和成本效益。

  • 它提供的吞吐量比同一硬件上运行的标准 MySQL 最多高出五倍。Amazon Aurora 的设计与 MySQL 5.6 兼容,因此现有 MySQL 应用程序和工具无需修改即可运行。

  • Amazon Aurora 继 MySQL、Oracle、Microsoft SQL Server 和 PostgreSQL 之后,成为第五个可通过 Amazon RDS 提供给客户的数据库引擎。

  • 兼容 MySQL 的关系数据库,其性能高达 MySQL 的 5 倍。
    有商业数据库的安全性、可用性和可靠性,但成本只是商业数据库的 1/10

  • 最高可以实现每秒 50 万次读取和 10 万次写入

  • 最多15个副本

  • 存储空间最小为 10GB,最大为 64TB

  • Amazon Aurora 的设计旨在提供高于 99.99% 的可用性。从物理存储故障恢复是一个透明过程,而实例故障转移也只需要不到 30 秒

  • Amazon Aurora 的存储具有容错和自我修复功能。您的数据有六个副本复制分布在三个可用区中,并且会持续备份到 Amazon S3

<a name="宣传特点"></a> 宣传特点

  • 读写分离
  • 快速Fail Over
  • 从库几乎0延迟
  • 5X 性能于MySQL
  • 易于扩展(应该是读)

<a name="概念与架构"></a> 概念与架构

  • Aurora 并不开源
  • Aurora 不是用于MySQL的插件式引擎(不是InnoDB或者TokuDB这样的引擎)
  • Aurora 算是一个数据库软件(网上都称其为engine,个人觉得,Aurora 作为一个软件更合适)
  • Aurora 是结合了Amazon 云生态系统里各种服务组件的、一个能够媲美商业数据库(官方宣传)的、兼容MySQL的数据库引擎
  • Aurora 开源了也没用,因为它依赖的都是Amazon自己的基础服务(S3等)
https://www.percona.com/blog/2015/11/16/amazon-aurora-looking-deeper/
  • 上图是Percona Vadim Tkachenko 猜想Aurora 的架构图,基本的原理就是共享了一个高效的存储层,用这种方式来取代binlog的复制方式,所以才会提供很快的Fail Over特性、几乎为0的从库延迟。

  • 这种架构,跟Oracle RAC 是不是很像?

  • PXC是不是也有些类似?

  • share everything?

ps:
Amazon 的工程师,在对外宣讲的一个点,就是针对现有数据库架构很多冗余部件的吐槽,这样对于数据的备份、成本、灵活性都很不方便。

通过上述的这种架构,Aurora 可以:

  • Avoid data writes to storage
  • Avoid binary logs
  • Avoid InnoDB transactional logs
  • Disable doublewrites
  • Disable InnoDB checksums

理论上是有性能提升的。

<a name="性能HA"></a> 性能 & HA

官方测试有争议

  • 官方宣称,写方面,3X 于MySQL,读方面,5X 于MySQL
  • 官方的测试环境
    • 250 tables, with 25000 rows each
    • 4.5GB
    • Amazon used r3.8xlarge instances
      • 32 virtual CPUs
      • 244GB of memory

Percona 测试

  • 结论
    • 在高配(高IO)的EC2机器上,Percona Server性能依然高于或者持平 Aurora。
    • 但是在数据量比较大的情况下,Aurora 还是有一定优势的。
    • 数据量较少的情况下,Aurora 性能不及Percona。如果按照官方的对比,Percona Server 也要比MySQL 高出很多性能了。
    • 最高IO的EC2,价格也最贵,成本最大。
    • 从下面的表格来看,Aurora 还是有一定的优势的。

价格对比:

Item Config Price a Year($)
Aurora 4 virtual CPUS + 30GB memory + 400GB 311.40
ps 4 virtual CPUS + 30GB memory + 500GB + 1500/3000 ios 210.60
ps-io2000 4 virtual CPUS + 30GB memory + 500GB + 2000 ios 353.10
ps-io3000 4 virtual CPUS + 30GB memory + 500GB + 3000 ios 418.10

其他测试

  • 结论
  • 5�X 太夸张
  • 性能好于用户自己在EC2上搭建的MySQL(跟percona的测试有冲突)
  • 跟自家的5.6 RDS比,没有太大优势
  • 但是Aurora 在响应时间上,有一定优势

HA测试

  • 上图来自Percona 工程师 Yves Trudeau
  • 图中显示,Aurora 的Fail Over速度明显好于MHA,但是跟Galera 还有差距
  • 该blog 从HA、性能等方面,大量对比了Galera 和Aurora,对于Aurora这种架构,只跟MySQL 单机去比,可能不太合适,和Galera 去对比,算是恰如其分的。

<a name="质疑亮点"></a>质疑 & 亮点

质疑

  • 5X 的性能,见上文。

  • 与官方MySQL比:

    • 大量细节显示,Aurora 跟MySQL 5.6 有很多渊源,并且,从Bug List 来看,Aurora 明显跟不上MySQL 官方的脚步:

My question here, does Amazon have the ability to keep up with MySQL bug fixes and regularly update their software? So far it does not seem so.

  • Amazon Aurora – Looking Deeper

  • unusual behaviour

    • 怪异的隔离级别

    • 默认只支持RR,修改其他不生效,但是不报错

    • 被杀掉的从库查询:

Scenario:
READER:
execute long SELECT col1 FROM tab1
WRITER:
while SELECT running, execute ALTER TABLE tab1 ADD COLUMN col2 ;
Effect: SELECT on READER fails immediately with an error: “ERROR 1866 (HY000): Query execution was interrupted on a read-only database because of a metadata change on the master”

So there again I think Aurora does its best given architectural limitations and one-directional communication: it just chooses to kill read statements on Readers.

亮点

  • 修复了Query cache 对写造成的影响。

<a name="结论"></a> 结论

  • 大神 DimitriK 表示一脸不屑,5.7早就可以达到100w QPS,单纯从性能来讲,Aurora 没有太大优势。
    注释:Dim的测试全都是内存测试,他的原则就是这种最为简单的测试,最能体现引擎内部的性能优化程度。
    MySQL Performance: 5.7 and RDS Aurora, so what?.. ;-)
  • 个人认为,单纯讨论性能没有太大意义,要从RDS服务本身去谈。如备份、高可用。

  • Aurora 的设计利用了Amazon 本身的诸多系统,从设计本身就可以做到高速Fail Over,另外,其备份也要比传统的MySQL实例备份来的方便。

  • 从Amazon 方面考虑,开发Aurora 这种东西,利用了自家的很多技术,这对云服务的成本来讲也是很大一笔节约。

  • 对用户来讲,购买EC2 主机来搭建MySQL也许不是一个明智的选择,如果Amazon 能提供更好、更廉价的RDS服务,何乐而不为?

  • Amazon 的野心,在于构建一个能够媲美商业数据库的数据库,但是这个数据库并不是一个用来卖的软件(不像 Oracle那样),他的目的在于打造一个基于云的商业数据库服务,及Amazon RDS。

  • 套用Percona Vadim Tkachenko 的一句话:

In general I think Amazon Aurora is a quite advanced proprietary version of MySQL. It is not revolutionary, however, and indeed not “reimagined relational databases” as Amazon presents it. This technology does not address a problem with scaling writes, sharding and does not handle cross-nodes transactions.

“这不是一个革命性的产品,它没能解决写扩展的问题,也没有解决sharding、以及多节点事物的问题,但是这给关系型数据库未来的发展,提供了一些想象,是一个很好的MySQL衍生品。”

<a name="参考文档"></a> Reference

重点推荐

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,033评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,725评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,473评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,846评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,848评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,691评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,053评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,700评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,856评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,676评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,787评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,430评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,034评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,990评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,218评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,174评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,526评论 2 343

推荐阅读更多精彩内容