分布式系统设计经典论文

2019 年 3 月 22 日 架构文摘


推荐几篇工业界分布式系统设计的论文。


1. Google 经典的“三驾马车”


  • The Google File System (2003):https://static.googleusercontent.com/media/research.google.com/zh-CN//archive/gfs-sosp2003.pdf

  • MapReduce: Simplified Data Processing on Large Clusters (2004):https://storage.googleapis.com/pub-tools-public-publication-data/pdf/16cb30b4b92fd4989b8619a61752a2387c6dd474.pdf

  • Bigtable: A Distributed Storage System for Structured Data (2006):https://static.googleusercontent.com/media/research.google.com/zh-CN//archive/bigtable-osdi06.pdf


最早发表的 GFS 论文(2003)到现在(2019)已经 16 年了。这三篇论文可以说是工业界、开源界分布式系统的启蒙者。之后的 Hadoop 系列开源软件 HDFS、MapReduce、Hbase 都是参考这三篇论文设计的。


2. Amazon 的 Dynamo (高可用、最终一致的分布式 KV)


  • Dynamo: Amazon’s Highly Available Key-value Store (2007):https://www.allthingsdistributed.com/files/amazon-dynamo-sosp2007.pdf


和 Bigtable 差不多同一时期,Amazon 发表了 Dynamo 这篇论文。个人觉得这篇论文非常经典,绝对值得一读。从 Dynamo 和后来的 Aurora,可以看出 Amazon 做出来的东西都非常有自己的特色。


3. Google 的 Percolator 和 Megastore


  • Large-scale Incremental Processing Using Distributed Transactions and Notifications (2010):https://storage.googleapis.com/pub-tools-public-publication-data/pdf/36726.pdf

  • Megastore: Providing Scalable, Highly Available Storage for Interactive Services (2011):https://storage.googleapis.com/pub-tools-public-publication-data/pdf/36971.pdf


通过这两篇论文,看看 Google 内部是如何在 Bigtable 上“打补丁”,直到后来 Spanner 的出现。


4. Google 的 Spanner 和 F1 。


  • Spanner: Google’s Globally-Distributed Database (2012):https://www.usenix.org/system/files/conference/osdi12/osdi12-final-16.pdf

  • F1: A Distributed SQL Database That Scales (2013):https://static.googleusercontent.com/media/research.google.com/zh-CN//pubs/archive/41344.pdf

  • Online, Asynchronous Schema Change in F1 (2013):https://static.googleusercontent.com/media/research.google.com/zh-CN//pubs/archive/41376.pdf


最开始的时候,Spanner 和 F1 分工合作:Spanner 专注存储层,是一个高可用的分布式 KV并且支持分布式事务;F1 则专注计算层,是一个分布式 SQL 引擎。


  • Spanner: Becoming a SQL System (2017):https://static.googleusercontent.com/media/research.google.com/zh-CN//pubs/archive/46103.pdf


后来,Spanner 开始自己实现 SQL 层。(感觉是要替代掉 F1。)


  • F1 Query: Declarative Querying at Scale (2018):https://storage.googleapis.com/pub-tools-public-publication-data/pdf/fa380016eccb33ac5e92c84f7b5eec136e73d3f1.pdf


F1 为了不让自己被干掉,将自己重新定位成 Google 内部统一的查询引擎,包括 OLTP 和 OLAP。底层数据源也不只是适配 Spanner。


Spanner 和 F1 论文的发布,开启了 NewSQL 世界的大门。个人感觉这 21 世纪以来到现在,Google 几乎成了是工业界分布式系统的“风向标”……著名的两个开源 NewSQL,TiDBCockroachDB 都是 inspire by Spanner 和 F1。


5. Amazon 的 Aurora


  • Amazon Aurora: Design Considerations for High Throughput Cloud-Native Relational Databases (2017):https://www.allthingsdistributed.com/files/p1041-verbitski.pdf

  • Amazon Aurora: On Avoiding Distributed Consensus for I/Os, Commits, and Membership Changes (2018):https://1drv.ms/b/s!As90tzptTSB3g3kUDUVDwqm9rmAM


Aurora 也是一个非常经典的存储系统——设计的目标是云原生数据库。


来源:https://www.jianshu.com/p/1b9ba08e4b6c


版权申明:内容来源网络,版权归原创者所有。除非无法确认,我们都会标明作者及出处,如有侵权烦请告知,我们会立即删除并表示歉意。谢谢。


-END-


架构文摘

ID:ArchDigest

互联网应用架构丨架构技术丨大型网站丨大数据丨机器学习

更多精彩文章,请点击下方:阅读原文

登录查看更多
3

相关内容

GFS 是一个可扩展的分布式文件系统,用于大型的、分布式的、对大量数据进行访问的应用。它运行于廉价的普通硬件上,并提供容错功能。它可以给大量的用户提供总体性能较高的服务。
FPGA加速系统开发工具设计:综述与实践
专知会员服务
65+阅读 · 2020年6月24日
100+篇《自监督学习(Self-Supervised Learning)》论文最新合集
专知会员服务
164+阅读 · 2020年3月18日
专知会员服务
53+阅读 · 2020年3月16日
普林斯顿大学经典书《在线凸优化导论》,178页pdf
专知会员服务
183+阅读 · 2020年2月3日
近期必读的12篇KDD 2019【图神经网络(GNN)】相关论文
专知会员服务
62+阅读 · 2020年1月10日
知识图谱本体结构构建论文合集
专知会员服务
106+阅读 · 2019年10月9日
最新BERT相关论文清单,BERT-related Papers
专知会员服务
52+阅读 · 2019年9月29日
系统设计班 | 限时半价,随时报名随时观看
九章算法
9+阅读 · 2019年5月4日
分布式入门,怎样用PyTorch实现多GPU分布式训练
机器之心
7+阅读 · 2019年5月3日
动态知识图谱补全论文合集
专知
60+阅读 · 2019年4月18日
个人吐血整理的系统设计资料大全
九章算法
86+阅读 · 2019年3月6日
大神 一年100篇论文
CreateAMind
15+阅读 · 2018年12月31日
LibRec 精选:推荐系统的论文与源码
LibRec智能推荐
14+阅读 · 2018年11月29日
计算机视觉中,目前有哪些经典的目标跟踪算法?
人工智能头条
9+阅读 · 2018年5月4日
【论文】深度学习的数学解释
机器学习研究会
10+阅读 · 2017年12月15日
Arxiv
24+阅读 · 2020年3月11日
Arxiv
92+阅读 · 2020年2月28日
Optimization for deep learning: theory and algorithms
Arxiv
104+阅读 · 2019年12月19日
Arxiv
35+阅读 · 2019年11月7日
A Sketch-Based System for Semantic Parsing
Arxiv
4+阅读 · 2019年9月12日
Arxiv
8+阅读 · 2019年5月20日
Arxiv
7+阅读 · 2018年1月10日
VIP会员
相关资讯
系统设计班 | 限时半价,随时报名随时观看
九章算法
9+阅读 · 2019年5月4日
分布式入门,怎样用PyTorch实现多GPU分布式训练
机器之心
7+阅读 · 2019年5月3日
动态知识图谱补全论文合集
专知
60+阅读 · 2019年4月18日
个人吐血整理的系统设计资料大全
九章算法
86+阅读 · 2019年3月6日
大神 一年100篇论文
CreateAMind
15+阅读 · 2018年12月31日
LibRec 精选:推荐系统的论文与源码
LibRec智能推荐
14+阅读 · 2018年11月29日
计算机视觉中,目前有哪些经典的目标跟踪算法?
人工智能头条
9+阅读 · 2018年5月4日
【论文】深度学习的数学解释
机器学习研究会
10+阅读 · 2017年12月15日
相关论文
Arxiv
24+阅读 · 2020年3月11日
Arxiv
92+阅读 · 2020年2月28日
Optimization for deep learning: theory and algorithms
Arxiv
104+阅读 · 2019年12月19日
Arxiv
35+阅读 · 2019年11月7日
A Sketch-Based System for Semantic Parsing
Arxiv
4+阅读 · 2019年9月12日
Arxiv
8+阅读 · 2019年5月20日
Arxiv
7+阅读 · 2018年1月10日
Top
微信扫码咨询专知VIP会员