近几年总能看到大数据,云计算这些buzz word/时髦词, 可是说来惭愧,对近10来年历史上那些著名论文及主要内容却知道的很少.
之前零散的看到分布式系统的一些文章,接下来总结下主要内容,也打算读几本书系统的学习下.
今天先看看这些经典论文及衍生的开源系统.
按时间顺序/影响力最大的应该就是谷歌的老三篇了,即 GFS + MapReduce + BigTable.
论文列表
- 2003 Google File System/GFS
- 2004 Google MapReduce: Simplified Data Processing on Large Clusters
- 2006 Google The Bigtable – A Distributed Storage System for Structured Data
- 2007 Amazon Dynamo
- 2010 Yahoo S4: distributed stream computing platform
- 2012 Google Spanner:Google’s Globally-Distributed Database
- 2012 Google F1 – The Fault-Tolerant Distributed RDBMS Supporting Google’s Ad Business
对应的开源产品
- GFS + MapReduce + BitTable : 对应Hadoop的HDFS和HBase
- S4(Simple Scalable Streaming System): Twitter开源的实时流计算Storm/继承者Heron
- Dynamo: Facebook开源的Cassandra, 之后出现了高性能C++版本ScyllaDB (兼容Cassandra协议,KVM作者开发)
- SSTable + LSM Tree(BigTable背后技术) : Google开源实现LevelDB和Facebook的分支RocksDB
- NoSQL(Not only SQL): 基于BigTable的实现, 主要有HBase/MongoDB/Cassandra
- NewSQL: 基于Spanner/F1的实现, 主要有 TiDB/CockroachDB
特点: Cassandra强调AP ,Hbase强调CP, Spanner 支持分布式事务
其他概念
- LSM: Log-Structured Merge
- SSTable: Sorted Strings Table
- paxos/raft : 一致性算法
- HTAP: Hybrid transactional/analytical processing
- WAL: Write Ahead Logging
- MVCC(Multi-Version Concurrency Control): 多版本并发控制
资源
一些中文翻译和相关网页