一绢淀、分布式儲(chǔ)存的概念
分布式存儲(chǔ)系統(tǒng)的傳統(tǒng)定義:“分布式存儲(chǔ)系統(tǒng)是大量PC服務(wù)器通過Internet互聯(lián)萤悴,對(duì)外提供一個(gè)整體的服務(wù)”。
二皆的、分布式儲(chǔ)存的發(fā)展
80年代稚疹,代表:AFS、NFS祭务、Coda
AFS:1983年 Carnegine Mellon大學(xué)和IBM共同合作開發(fā)Andrew文件系統(tǒng)内狗。
NFS:1985年Sun公司基于UDP開發(fā)了網(wǎng)絡(luò)共享文件系統(tǒng)(Network File System, NFS)。
Coda:1987年 Carnegine Mellon大學(xué)在基于AFS的基礎(chǔ)上開發(fā)了Coda文件系統(tǒng)义锥。
90年代 柳沙,代表:xFS
xFS:UC Berkeley參照當(dāng)時(shí)高性能多處理器領(lǐng)域的設(shè)計(jì)思想開發(fā)了xFS文件系統(tǒng)。
20世紀(jì)末拌倍,代表: NAS赂鲤、GFS
NAS:通過基于TCP/IP協(xié)議的各種上層應(yīng)用(NFS等)在各工作站和服務(wù)器之間進(jìn)行文件訪問,直接在工作站客戶端和NAS文件共享設(shè)備之間建立連接柱恤。
GFS:Google為大規(guī)模分布式數(shù)據(jù)密集型應(yīng)用設(shè)計(jì)的可擴(kuò)展的分布式文件系統(tǒng)数初,Google將一萬(wàn)多臺(tái)廉價(jià)PC機(jī)連接成一個(gè)大規(guī)模的Linux集群,它具有高性能梗顺,高可靠性泡孩,易擴(kuò)展性,超大存儲(chǔ)容量等優(yōu)點(diǎn)寺谤。
現(xiàn)在仑鸥,代表:HBase、MongoDB变屁、DynamoDB…
HBase:列存儲(chǔ)數(shù)據(jù)庫(kù)眼俊,擅長(zhǎng)以列為單位讀取數(shù)據(jù),面向列存儲(chǔ)的數(shù)據(jù)庫(kù)具有高擴(kuò)展性粟关,即使數(shù)據(jù)大量增加也不會(huì)降低相應(yīng)的處理速度疮胖,特別是寫入速度。
MongoDB:文檔型數(shù)據(jù)庫(kù)它同鍵值(Key-Value)型的數(shù)據(jù)庫(kù)類似,鍵值型數(shù)據(jù)庫(kù)的升級(jí)版澎灸,允許嵌套鍵值谷市,Value值是結(jié)構(gòu)化數(shù)據(jù),數(shù)據(jù)庫(kù)可以理解Value的內(nèi)容击孩,提供復(fù)雜的查詢,類似于RDBMS的查詢條件鹏漆。
DynamoDB:Amazon 公司的一個(gè)分布式存儲(chǔ)引擎巩梢,是一個(gè)經(jīng)典的分布式Key-Value 存儲(chǔ)系統(tǒng),具備去中心化艺玲,高可用性括蝠,高擴(kuò)展性的特點(diǎn)。
三饭聚、Ulord分布式存儲(chǔ)核心框架
1忌警、理論闡述
Ulord使用P2P的超媒體協(xié)議,可以讓網(wǎng)絡(luò)更快秒梳、更安全法绵、更開放。Ulord網(wǎng)絡(luò)中的所有節(jié)點(diǎn)構(gòu)成一個(gè)面向全球的酪碘、點(diǎn)對(duì)對(duì)的分布式文件系統(tǒng)朋譬,將所有具有相同文件系統(tǒng)的計(jì)算設(shè)備連接在一起。
每個(gè)文件及其中的所有分塊都被賦予一個(gè)稱為加密散列的唯一指紋兴垦。每個(gè)節(jié)點(diǎn)通過判斷文件的哈希值判斷哪些冗余重復(fù)的文件徙赢,在單個(gè)節(jié)點(diǎn)上確保數(shù)據(jù)不冗余。查找文件時(shí)探越,通過文件的哈希值就可以在網(wǎng)絡(luò)中查找到儲(chǔ)存該文件的節(jié)點(diǎn)狡赐,找到想要的文件; Ulord下一步計(jì)劃提供文件的歷史版本控制器,支持多節(jié)點(diǎn)使用并保存不同版本的文件钦幔,實(shí)現(xiàn)文件歷史狀態(tài)跟蹤枕屉。
其次,Ulord中文件存儲(chǔ)不強(qiáng)烈要求每一個(gè)節(jié)點(diǎn)都存儲(chǔ)所有的內(nèi)容鲤氢,節(jié)點(diǎn)的所有者可以自由選擇想要存儲(chǔ)的數(shù)據(jù)搀庶,對(duì)于存儲(chǔ)大量?jī)?nèi)容信息的節(jié)點(diǎn),Ulord計(jì)費(fèi)模型通過文件下載的數(shù)據(jù)量自動(dòng)計(jì)算用戶收益铜异,以此激勵(lì)用戶升級(jí)其硬件資源以提供更全面的數(shù)據(jù)存儲(chǔ)和維護(hù)服務(wù)來獲取收益哥倔。
說明:IPFS是一個(gè)分布式的web, 點(diǎn)到點(diǎn)超媒體協(xié)議. 可以讓我們的互聯(lián)網(wǎng)速度更快, 更加安全, 并且更加開放。因?yàn)槭褂肏TTP協(xié)議每次需要從中心化的服務(wù)器下載完整的文件(網(wǎng)頁(yè), 視頻, 圖片等), 速度慢, 效率低揍庄。如果改用P2P的方式下載, 可以節(jié)省近60%的帶寬咆蒿。P2P將文件分割為小的塊, 從多個(gè)服務(wù)器同時(shí)下載, 速度非常快。IPFS協(xié)議的目標(biāo)是取代傳統(tǒng)的互聯(lián)網(wǎng)協(xié)議HTTP沃测。
2缭黔、配套設(shè)計(jì)體系
1)設(shè)計(jì)并實(shí)現(xiàn)了基于區(qū)塊鏈的分布式文件存儲(chǔ)、檢索和分發(fā)機(jī)制蒂破,基于底層區(qū)塊鏈集成P2P下載馏谨、分布式文件組織、智能學(xué)習(xí)等功能模塊附迷,提供快速內(nèi)容搜索服務(wù)惧互、分布式存儲(chǔ)服務(wù)、點(diǎn)對(duì)點(diǎn)數(shù)據(jù)分發(fā)服務(wù)喇伯、分布式哈希索引服務(wù)喊儡、網(wǎng)絡(luò)資源自凈化服務(wù)等。
2)分布式哈希索引服務(wù)稻据,Ulord網(wǎng)絡(luò)使用了分布式哈希表來組織用戶資源的命名空間艾猜,通過DHT在網(wǎng)絡(luò)節(jié)點(diǎn)中實(shí)現(xiàn)的關(guān)系映射。DHT是一個(gè)不存在中心節(jié)點(diǎn)的捻悯、提供key>value查詢功能的分布式系統(tǒng)匆赃,關(guān)于key到avlue的映射信息分布式地保存在多個(gè)節(jié)點(diǎn)上,數(shù)據(jù)的變化和節(jié)點(diǎn)的變化只會(huì)影響到部分節(jié)點(diǎn)今缚,不會(huì)對(duì)所有節(jié)點(diǎn)產(chǎn)生影響炸庞。作為一種基礎(chǔ)架構(gòu),DHT可以用來構(gòu)建更多復(fù)雜應(yīng)用荚斯,比如分布式文件系統(tǒng)埠居、域名服務(wù)、即時(shí)消息事期、P2P文件共享和內(nèi)容分發(fā)平臺(tái)滥壕。
3)Ulord服務(wù)以Ulord協(xié)議為基礎(chǔ),集成P2P下載兽泣、分布式文件系統(tǒng)绎橘、智能學(xué)習(xí)等技術(shù)組成不同的功能模塊,Ulord網(wǎng)絡(luò)服務(wù)可以根據(jù)用戶需求進(jìn)行靈活設(shè)置唠倦。
3称鳞、增加Ulord存儲(chǔ)空間的措施
1)采用POW和POS混合的共識(shí)機(jī)制,吸引更多閑置資源加入U(xiǎn)lord網(wǎng)絡(luò),POS算法適用于構(gòu)建IPFS基礎(chǔ)設(shè)施稠鼻,鼓勵(lì)更多的用戶提供大的存儲(chǔ)空間用于Ulord上的平臺(tái)數(shù)據(jù)冈止。
2)引入主節(jié)點(diǎn)系統(tǒng),將整個(gè)主節(jié)點(diǎn)網(wǎng)絡(luò)構(gòu)造為點(diǎn)對(duì)點(diǎn)的分布式文件分發(fā)網(wǎng)絡(luò)(Interplanet File System,IPFS),提供了海量云存儲(chǔ)資源池和全球統(tǒng)一的可尋址空間存儲(chǔ)資源候齿。
一句話理解Ulord分布式存儲(chǔ)熙暴,就是采用POW和POS混合共識(shí)機(jī)制闺属、引入主節(jié)點(diǎn)系統(tǒng)等策略來吸引存儲(chǔ)資源進(jìn)行共享的模式,并且 Ulord設(shè)計(jì)了很多配套體系周霉。
四掂器、分布式存儲(chǔ)的特點(diǎn)
1、高擴(kuò)展性:分布式存儲(chǔ)系統(tǒng)可以擴(kuò)展到幾萬(wàn)臺(tái)甚至更多的集群規(guī)模俱箱,系統(tǒng)整體性能與服務(wù)器數(shù)量呈線性關(guān)系国瓮。
2、低成本性:分布式存儲(chǔ)系統(tǒng)的自動(dòng)容錯(cuò)狞谱、自動(dòng)負(fù)載均衡的特性乃摹,允許分布式存儲(chǔ)系統(tǒng)可以構(gòu)建在低成本的服務(wù)器上。
3芋簿、高可用性:分布式存儲(chǔ)系統(tǒng)在面對(duì)各種異常時(shí)可以提供正常服務(wù)的能力,系統(tǒng)的可用性可以用系統(tǒng)停服務(wù)的時(shí)間和正常服務(wù)時(shí)間的比例來衡量璃饱,例如4個(gè)99的可用性(99.99%)要求一年停機(jī)的時(shí)間不能超過3652460/10000 = 53分鐘与斤。
4、數(shù)據(jù)一致性:分布式存儲(chǔ)系統(tǒng)多個(gè)副本之間的數(shù)據(jù)一致性荚恶,有強(qiáng)一致性撩穿,弱一致性,最終一致性谒撼,因果一致性食寡,順序一致性。
5廓潜、高安全性:分布式存儲(chǔ)系統(tǒng)去中心化抵皱,不受惡意訪問和攻擊,保護(hù)存儲(chǔ)數(shù)據(jù)不被竊取辩蛋。
參考資料:
CSDN博客
知乎呻畸,飛向未來
Ulord白皮書