Alexandre Verbitski, Anurag Gupta, D. Saha, James Corey, K. Gupta, Murali Brahmadesam, Raman Mittal, S. Krishnamurthy, Sandor Maurice, T. Kharatishvili, Xiaofeng Bao
{"title":"Amazon Aurora:避免I/ o、提交和成员变更的分布式共识","authors":"Alexandre Verbitski, Anurag Gupta, D. Saha, James Corey, K. Gupta, Murali Brahmadesam, Raman Mittal, S. Krishnamurthy, Sandor Maurice, T. Kharatishvili, Xiaofeng Bao","doi":"10.1145/3183713.3196937","DOIUrl":null,"url":null,"abstract":"Amazon Aurora is a high-throughput cloud-native relational database offered as part of Amazon Web Services (AWS). One of the more novel differences between Aurora and other relational databases is how it pushes redo processing to a multi-tenant scale-out storage service, purpose-built for Aurora. Doing so reduces networking traffic, avoids checkpoints and crash recovery, enables failovers to replicas without loss of data, and enables fault-tolerant storage that heals without database involvement. Traditional implementations that leverage distributed storage would use distributed consensus algorithms for commits, reads, replication, and membership changes and amplify cost of underlying storage. In this paper, we describe how Aurora avoids distributed consensus under most circumstances by establishing invariants and leveraging local transient state. Doing so improves performance, reduces variability, and lowers costs.","PeriodicalId":20430,"journal":{"name":"Proceedings of the 2018 International Conference on Management of Data","volume":null,"pages":null},"PeriodicalIF":0.0000,"publicationDate":"2018-05-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"38","resultStr":"{\"title\":\"Amazon Aurora: On Avoiding Distributed Consensus for I/Os, Commits, and Membership Changes\",\"authors\":\"Alexandre Verbitski, Anurag Gupta, D. Saha, James Corey, K. Gupta, Murali Brahmadesam, Raman Mittal, S. Krishnamurthy, Sandor Maurice, T. Kharatishvili, Xiaofeng Bao\",\"doi\":\"10.1145/3183713.3196937\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Amazon Aurora is a high-throughput cloud-native relational database offered as part of Amazon Web Services (AWS). One of the more novel differences between Aurora and other relational databases is how it pushes redo processing to a multi-tenant scale-out storage service, purpose-built for Aurora. Doing so reduces networking traffic, avoids checkpoints and crash recovery, enables failovers to replicas without loss of data, and enables fault-tolerant storage that heals without database involvement. Traditional implementations that leverage distributed storage would use distributed consensus algorithms for commits, reads, replication, and membership changes and amplify cost of underlying storage. In this paper, we describe how Aurora avoids distributed consensus under most circumstances by establishing invariants and leveraging local transient state. Doing so improves performance, reduces variability, and lowers costs.\",\"PeriodicalId\":20430,\"journal\":{\"name\":\"Proceedings of the 2018 International Conference on Management of Data\",\"volume\":null,\"pages\":null},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2018-05-27\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"38\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings of the 2018 International Conference on Management of Data\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/3183713.3196937\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 2018 International Conference on Management of Data","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3183713.3196937","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 38
摘要
Amazon Aurora是作为Amazon Web Services (AWS)的一部分提供的高吞吐量云原生关系数据库。Aurora与其他关系型数据库之间的一个比较新颖的区别是,它如何将重做处理推送到一个多租户的横向扩展存储服务上,这是专门为Aurora构建的。这样做可以减少网络流量,避免检查点和崩溃恢复,支持故障转移到副本而不会丢失数据,并支持容错存储,无需数据库参与即可进行修复。利用分布式存储的传统实现将使用分布式共识算法进行提交、读取、复制和成员变更,并增加底层存储的成本。在本文中,我们描述了Aurora如何在大多数情况下通过建立不变量和利用局部瞬态来避免分布式共识。这样做可以提高性能、减少可变性并降低成本。
Amazon Aurora: On Avoiding Distributed Consensus for I/Os, Commits, and Membership Changes
Amazon Aurora is a high-throughput cloud-native relational database offered as part of Amazon Web Services (AWS). One of the more novel differences between Aurora and other relational databases is how it pushes redo processing to a multi-tenant scale-out storage service, purpose-built for Aurora. Doing so reduces networking traffic, avoids checkpoints and crash recovery, enables failovers to replicas without loss of data, and enables fault-tolerant storage that heals without database involvement. Traditional implementations that leverage distributed storage would use distributed consensus algorithms for commits, reads, replication, and membership changes and amplify cost of underlying storage. In this paper, we describe how Aurora avoids distributed consensus under most circumstances by establishing invariants and leveraging local transient state. Doing so improves performance, reduces variability, and lowers costs.