一、分布式儲(chǔ)存的概念
分布式存儲(chǔ)系統(tǒng)的傳統(tǒng)定義:“分布式存儲(chǔ)系統(tǒng)是大量PC服務(wù)器通過(guò)Internet互聯(lián),對(duì)外提供一個(gè)整體的服務(wù)”。
二、分布式儲(chǔ)存的發(fā)展
80年代,代表:AFS、NFS、Coda
AFS:1983年 Carnegine Mellon大學(xué)和IBM共同合作開(kāi)發(fā)Andrew文件系統(tǒng)。
NFS:1985年Sun公司基于UDP開(kāi)發(fā)了網(wǎng)絡(luò)共享文件系統(tǒng)(Network File System, NFS)。
Coda:1987年 Carnegine Mellon大學(xué)在基于AFS的基礎(chǔ)上開(kāi)發(fā)了Coda文件系統(tǒng)。
90年代 ,代表:xFS
xFS:UC Berkeley參照當(dāng)時(shí)高性能多處理器領(lǐng)域的設(shè)計(jì)思想開(kāi)發(fā)了xFS文件系統(tǒng)。
20世紀(jì)末,代表: NAS、GFS
NAS:通過(guò)基于TCP/IP協(xié)議的各種上層應(yīng)用(NFS等)在各工作站和服務(wù)器之間進(jìn)行文件訪問(wè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)的處理速度,特別是寫(xiě)入速度。
MongoDB:文檔型數(shù)據(jù)庫(kù)它同鍵值(Key-Value)型的數(shù)據(jù)庫(kù)類(lèi)似,鍵值型數(shù)據(jù)庫(kù)的升級(jí)版,允許嵌套鍵值,Value值是結(jié)構(gòu)化數(shù)據(jù),數(shù)據(jù)庫(kù)可以理解Value的內(nèi)容,提供復(fù)雜的查詢(xún),類(lèi)似于RDBMS的查詢(xún)條件。
DynamoDB:Amazon 公司的一個(gè)分布式存儲(chǔ)引擎,是一個(gè)經(jīng)典的分布式Key-Value 存儲(chǔ)系統(tǒng),具備去中心化,高可用性,高擴(kuò)展性的特點(diǎn)。
三、Ulord分布式存儲(chǔ)核心框架
1、理論闡述
Ulord使用P2P的超媒體協(xié)議,可以讓網(wǎng)絡(luò)更快、更安全、更開(kāi)放。Ulord網(wǎng)絡(luò)中的所有節(jié)點(diǎn)構(gòu)成一個(gè)面向全球的、點(diǎn)對(duì)對(duì)的分布式文件系統(tǒng),將所有具有相同文件系統(tǒng)的計(jì)算設(shè)備連接在一起。
每個(gè)文件及其中的所有分塊都被賦予一個(gè)稱(chēng)為加密散列的唯一指紋。每個(gè)節(jié)點(diǎn)通過(guò)判斷文件的哈希值判斷哪些冗余重復(fù)的文件,在單個(gè)節(jié)點(diǎn)上確保數(shù)據(jù)不冗余。查找文件時(shí),通過(guò)文件的哈希值就可以在網(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)模型通過(guò)文件下載的數(shù)據(jù)量自動(dòng)計(jì)算用戶收益,以此激勵(lì)用戶升級(jí)其硬件資源以提供更全面的數(shù)據(jù)存儲(chǔ)和維護(hù)服務(wù)來(lái)獲取收益。
說(shuō)明:IPFS是一個(gè)分布式的web, 點(diǎn)到點(diǎn)超媒體協(xié)議. 可以讓我們的互聯(lián)網(wǎng)速度更快, 更加安全, 并且更加開(kāi)放。因?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ò)資源自?xún)艋?wù)等。
2)分布式哈希索引服務(wù),Ulord網(wǎng)絡(luò)使用了分布式哈希表來(lái)組織用戶資源的命名空間,通過(guò)DHT在網(wǎng)絡(luò)節(jié)點(diǎn)中實(shí)現(xiàn)的關(guān)系映射。DHT是一個(gè)不存在中心節(jié)點(diǎn)的、提供key>value查詢(xún)功能的分布式系統(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可以用來(lái)構(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)等策略來(lái)吸引存儲(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í)間的比例來(lái)衡量,例如4個(gè)99的可用性(99.99%)要求一年停機(jī)的時(shí)間不能超過(guò)3652460/10000 = 53分鐘。
4、數(shù)據(jù)一致性:分布式存儲(chǔ)系統(tǒng)多個(gè)副本之間的數(shù)據(jù)一致性,有強(qiáng)一致性,弱一致性,最終一致性,因果一致性,順序一致性。
5、高安全性:分布式存儲(chǔ)系統(tǒng)去中心化,不受惡意訪問(wèn)和攻擊,保護(hù)存儲(chǔ)數(shù)據(jù)不被竊取。
參考資料:
CSDN博客
知乎,飛向未來(lái)
Ulord白皮書(shū)