分布式存儲(chǔ)泛指存儲(chǔ)存儲(chǔ)和管理數(shù)據(jù)的系統(tǒng)价涝, 與無狀態(tài)的應(yīng)用服務(wù)器不同亡资, 如何處理各種故障以保證數(shù)據(jù)一致炮赦,數(shù)據(jù)不丟涧郊, 數(shù)據(jù)持續(xù)可用, 是分布式存儲(chǔ)系統(tǒng)的核心問題眼五,也是極具挑戰(zhàn)的問題。 本文總結(jié)了分布式存儲(chǔ)領(lǐng)域的經(jīng)典論文彤灶, 供大家參考看幼。
GFS
The Google File System. Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung
基于普通服務(wù)器構(gòu)建超大規(guī)模文件系統(tǒng)的典型案例,主要面向大文件和批處理系統(tǒng)幌陕, 設(shè)計(jì)簡(jiǎn)單而實(shí)用诵姜。 GFS是google的重要基礎(chǔ)設(shè)施, 大數(shù)據(jù)的基石搏熄, 也是Hadoop HDFS的參考對(duì)象棚唆。 主要技術(shù)特點(diǎn)包括: 假設(shè)硬件故障是常態(tài)(容錯(cuò)能力強(qiáng))暇赤, 64MB大塊, 單Master設(shè)計(jì)宵凌,Lease/鏈?zhǔn)綇?fù)制鞋囊, 支持追加寫不支持隨機(jī)寫。
Bigtable:
A Distributed Storage System for Structured Data. Fay Chang, Jeffrey Dean, Sanjay Ghemawat, et.** 支持PB數(shù)據(jù)量級(jí)的多維非關(guān)系型大表瞎惫, 在google內(nèi)部應(yīng)用廣泛溜腐,大數(shù)據(jù)的奠基作品之一 , Hbase就是參考BigTable設(shè)計(jì)瓜喇。 Bigtable的主要技術(shù)特點(diǎn)包括: 基于GFS實(shí)現(xiàn)數(shù)據(jù)高可靠挺益, 使用非原地更新技術(shù)(LSM樹)實(shí)現(xiàn)數(shù)據(jù)修改, 通過range分區(qū)并實(shí)現(xiàn)自動(dòng)伸縮等乘寒。
Spanner
Google’s Globally-Distributed Database. James C. Corbett, Jeffrey Dean, et.** 第一個(gè)用于線上產(chǎn)品的大規(guī)模望众、高可用, 跨數(shù)據(jù)中心且支持事務(wù)的分布式數(shù)據(jù)庫伞辛。 主要技術(shù)特點(diǎn)包括烂翰, 基于GPS和原子鐘的全球同步時(shí)間機(jī)制TrueTime, Paxo始锚, 多版本事務(wù)等刽酱。
PacificA
Replication in Log-Based Distributed Storage Systems. Wei Lin, Mao Yang, et. 面向log-based存儲(chǔ)的強(qiáng)一致的主從復(fù)制協(xié)議, 具有較強(qiáng)實(shí)用性瞧捌。 這篇文章系統(tǒng)地講述了主從復(fù)制系統(tǒng)應(yīng)該考慮的問題棵里, 能加深對(duì)主從強(qiáng)一致復(fù)制的理解程度。 技術(shù)特點(diǎn): 支持強(qiáng)一致主從復(fù)制協(xié)議姐呐, 允許多種存儲(chǔ)實(shí)現(xiàn)殿怜, 分布式的故障檢測(cè)/Lease/集群成員管理方法。
Object Storage on CRAQ
High-throughput chain replication for read-mostly workloads. Jeff Terrace and Michael J. Freedman. **支持強(qiáng)一直的鏈?zhǔn)綇?fù)制方法曙砂, 支持從多個(gè)副本讀取數(shù)據(jù)头谜。
Ceph
Reliable, Scalable, and High-Performance Distributed Storage. Sage A. Weil. 功能強(qiáng)大的開源海量存儲(chǔ)系統(tǒng), 支持文件系統(tǒng)鸠澈、塊設(shè)備柱告、以及S3接口。 主要技術(shù)特色: CRUSH數(shù)據(jù)對(duì)象定位算法笑陈, 基于動(dòng)態(tài)子樹的文件系統(tǒng)元數(shù)據(jù)管理际度。
Finding a needle in Haystack
Facebook’s photo storage. Doug Beaver, Sanjeev Kumar, Harry C. Li, Jason Sobel, Peter Vajgel. Facebook分布式Blob存儲(chǔ), 主要用于存儲(chǔ)圖片涵妥。 主要技術(shù)特色: 小文件合并成大文件乖菱, 小文件元數(shù)據(jù)放在內(nèi)存因此讀寫只需一次IO。
Windows Azure Storage
A Highly Available Cloud Storage Service with Strong Consistency. Brad Calder, Ju Wang, Aaron Ogus, Niranjan Nilakantan, et.
微軟的分布式存儲(chǔ)平臺(tái), 除了支持類S3對(duì)象存儲(chǔ)窒所,還支持表格鹉勒、隊(duì)列等數(shù)據(jù)模型。 主要技術(shù)特點(diǎn): 采用Stream/Partition兩層設(shè)計(jì)(類似BigTable)吵取;寫錯(cuò)(寫滿)就封存Extent禽额, 使得副本字節(jié)一致, 簡(jiǎn)化了選主和恢復(fù)操作海渊; 將S3對(duì)象存儲(chǔ)绵疲、表格、隊(duì)列臣疑、塊設(shè)備等融入到統(tǒng)一的底層存儲(chǔ)架構(gòu)中盔憨。
The Chubby lock service for loosely-coupled distributed systems.
Mike Burrows.
Google設(shè)計(jì)的高可用、可靠的分布式鎖服務(wù)讯沈, 可用于實(shí)現(xiàn)選主郁岩、分布式鎖等功能, 是ZooKeeper的原型缺狠。 主要技術(shù)特點(diǎn): 將paxo協(xié)議封裝成文件系統(tǒng)接口问慎, 高可用、高可靠挤茄,但是不保證有很強(qiáng)性能如叼。
Paxos Made Live – An Engineering Perspective.
Tushar Chandra, Robert Griesemer,Joshua Redstone.
從工程實(shí)現(xiàn)角度說明了Paxo在chubby系統(tǒng)的應(yīng)用穷劈, 是理解Paxo協(xié)議及其應(yīng)用場(chǎng)景的必備論文笼恰。 主要技術(shù)特點(diǎn): paxo協(xié)議, replicated log歇终, multi-paxo社证。
Dynamo
Amazon’s Highly Available Key-Value Store。
Giuseppe DeCandia, Deniz Hastorun, Madan Jampani, et. Amazon設(shè)計(jì)的高可用的kv系統(tǒng)评凝, 主要技術(shù)特點(diǎn):綜和運(yùn)用一致性哈希追葡,vector clock, 最終一致性構(gòu)建一個(gè)高可用的kv系統(tǒng)奕短, 可應(yīng)用于amazon購物車場(chǎng)景