在许多高吞吐量OLTP风格的应用程序,数据库在实现规模化,可靠性,高性能和成本效益至关重要的作用。很长一段时间,这些要求几乎完全由商业专利数据库服务。此次推出的AWS关系数据库服务后不久(RDS)客户给我们的反馈,他们愿意迁移到RDS。然而,他们需要的更多的,是一个从高成本的,惩罚性的许可方案,其附带专有数据库不受束缚他们成为现实。

他们愿意迁移到开源数据库风格像MySQL或PostgreSQL,如果这样的数据库能够满足企业级的可靠性和性能要求这些高规模的应用。

我们决定使用我们的创造性的权力,设计和建造一个新的数据库引擎,这将使数据库系统,如MySQL和PostgreSQL的可靠性和性能的规模。这意味着,在这个甚至可以服务于最苛刻的OLTP应用程序的水平。它让我们有机会去创造一个新的数据库架构,将涉及到的现代云规模的应用需求,从有他们的根在上个世纪九十年代数据库的传统方法出发。这个数据库引擎现在被称为“亚马逊极光“,并在2014年推出的MySQL,并在2016年对PostgreSQL。

亚马逊极光已经成为AWS历史上增长最快的服务,经常是移民从内部部署的私有数据库的目标。

在本周发表的一篇论文SIGMOD'17,亚马逊极光团队提出了新的数据库引擎的设计考虑因素,以及他们如何处理它们。从抽象:

亚马逊极光是亚马逊网络服务(AWS)的一部分提供的OLTP工作负载关系数据库服务。在本文中,我们描述了极光的架构和设计方面的考虑,导致该体系结构。我们相信,在高吞吐量的数据处理中心的约束已经从计算和存储网络。极光带来了新颖的架构在关系数据库来解决这一制约因素,最显着的推动重做处理多租户scaleout存储服务,专为极光。我们描述了如何这样做不仅降低了网络流量,同时也可实现快速故障恢复,故障转移到副本而不丢失数据,而且容错,自愈存储。然后,我们描述了极光使用高效异步方案,避免了昂贵和繁琐的恢复协议如何实现跨多个存储节点上耐久的状态一致。最后,在操作极光为超过18个月的生产服务,我们分享,我们已经从我们的客户在什么现代云应用从他们的数据库层希望吸取的经验教训。

我希望你会喜欢这个周末的阅读,因为它包含关于现代数据库设计的许多宝石。

亚马逊极光:设计考虑高通量云的原生关系数据库”亚历山大Verbitski,阿努拉格·古普塔Debanjan萨哈,穆拉利Brahmadesam卡迈勒·古普塔拉曼米塔尔,Sailesh克里希纳穆尔蒂,桑德尔莫里斯,田吉兹Kharatishvili,小凤宝,在SIGMOD上的数据,1041的页面管理的2017年ACM国际会议论文集'17月-1052 14 - 19,2017年,芝加哥,伊利诺伊,美国。

评论

博客评论由Disqus