亚马逊正式发布关系型数据库Amazon Aurora
在去年的 AWS re:Invent 大会上,亚马逊宣布了 Amazon Aurora 。Aurora是一个关系型数据库,可以跨3个可用区域复制6份数据,其设计目标是提供高性能和高可用性(99.99%),并且存储可以轻松高效地扩展到64TB。近日,AWS首席传道士 Jeff Barr 宣布 Amazon Aurora正式发布,但目前只有美国东部(北弗吉尼亚)、美国西部(俄勒冈) 和欧洲(爱尔兰)等三个地区的用户可以使用。
关于Amazon Aurora的特性,Jeff在先前的 博文 中已经阐述过。因此,这次他只介绍了该数据库的新特性:
- 零宕机迁移 :如果用户正在使用 Amazon RDS for MySQL ,那么借助Amazon Aurora的新特性,只需要很简单的操作(打开 RDS控制台 ,选中现有数据库实例,并从 Instance Action 菜单下选择 Migrate Database )就可以实现零宕机迁移。如果数据库处于活动状态,则需要首先在实例的DB参数组中启用二进制日志(具体方法参见 这里 )。
- 丰富的指标 :每个Amazon Aurora实例都会向 Amazon CloudWatch 提报大量的指标。用户可以通过控制台查看,并根据需要设定预警值。
- 简单快速的复制 :每个Amazon Aurora实例最多可以有15个副本,用户只需几次点击即可完成。而且,得益于Amazon Aurora独特的架构,复制延迟通常只有10到20毫秒。
- 性能提升5倍 :在同一硬件上运行时,Amazon Aurora的性价比是传统关系型数据库的5倍。不过,这不是说单个查询的速度快5倍,而是说Amazon Aurora能够处理的并发查询比其它产品多许多。Amazon Aurora独特的高并发存储访问方式减少了数据存储争用,让它可以用一种非常高效的方式处理查询。也许,这可以解答人们先前的疑问。
AWS合作伙伴网络(APN) 已经开始在他们的产品中测试Amazon Aurora,包括 Tableau 、 Talend 、 Alfresco 等。Amazon Aurora已经可以用于生产环境,其计费方式如下:
- 数据库实例 ——主实例和副本均以小时为单位计费。
- 存储 ——每GB每月0.10美元,依据是数据库实际占用的存储字节数。
- I/O ——数据库发起的每百万次I/O请求0.20美元。
更多价格信息,请查看 Amazon Aurora定价页面 。
Aurora发布的消息在Hacker News上引发了激烈的 讨论 。许多网友都对Aurora的技术架构感兴趣,比如elktea和falcolas就想知道“它是否是基于 Galera (一个以InnoDB为基础构建的存储引擎,是MySQL和MariaDB集群实现的基础)?”,而falcolas猜测Aurora是基于NDB构建。对此,Redshift总经理awgupta回复道:
Aurora既不是基于Galera,也不是基于NDB。
你可以将Aurora看作一个单实例数据库……事务、锁、LSN生成等都是在数据库节点完成的。我们会将日志记录向下推送到存储层,Aurora存储负责从日志生成数据块。
因此,ACID中的ACI都是在数据库层使用传统的技术实现的。而D则使用了分布式系统的技术……我们有一个生成LSN的头节点,提供一个单调逻辑时钟……
另外,谈到Aurora的性能,有网友对基准测试感兴趣,但苦于没能找到独立的第三方对Aurora进行基础测试的案例。对此,awgupta回复说:
对于类似TPC-C这样的基准测试,你可以运行:1) CloudHarmony ;2) Percona 。
我们发现,使用CloudHarmony加载大型数据集更简单,但我们两个都做了。
另外,他还建议网友阅读这篇 文章 。这有助于确保,他们配置的客户端有足够的网络吞吐量来运行一次完整的测试。
除了上述问题外,有许多网友对Aurora究竟是什么还存在疑问。Jeff建议他们阅读他先前的 博文 。而关于Aurora的架构细节,网友mathnode则建议观看这段 油Tube视频 。
要了解更多关于Amazon Aurora的信息,请访问 Amazon Aurora官方网站 或阅读 Amazon Aurora文档 。