Amazon Aurora: Design Considerations for High Throughput Cloud-Native Relational Databases
Amazon Aurora: Design Considerations for High Throughput Cloud-Native Relational Databases
复制标题
DOI:
10.1145/3035918.3056101
复制
发表时间:
2017-05
期刊:
影响因子:
--
通讯作者:
Alexandre Verbitski;Anurag Gupta;D. Saha;Murali Brahmadesam;K. Gupta;Raman Mittal;S. Krishnamurthy;Sandor Maurice;T. Kharatishvili;Xiaofeng Bao
中科院分区:
文献类型:
--
作者:
Alexandre Verbitski;Anurag Gupta;D. Saha;Murali Brahmadesam;K. Gupta;Raman Mittal;S. Krishnamurthy;Sandor Maurice;T. Kharatishvili;Xiaofeng Bao
Amazon Aurora is a relational database service for OLTP workloads offered as part of Amazon Web Services (AWS). In this paper, we describe the architecture of Aurora and the design considerations leading to that architecture. We believe the central constraint in high throughput data processing has moved from compute and storage to the network. Aurora brings a novel architecture to the relational database to address this constraint, most notably by pushing redo processing to a multi-tenant scale-out storage service, purpose-built for Aurora. We describe how doing so not only reduces network traffic, but also allows for fast crash recovery, failovers to replicas without loss of data, and fault-tolerant, self-healing storage. We then describe how Aurora achieves consensus on durable state across numerous storage nodes using an efficient asynchronous scheme, avoiding expensive and chatty recovery protocols. Finally, having operated Aurora as a production service for over 18 months, we share the lessons we have learnt from our customers on what modern cloud applications expect from databases.