一、分布式儲存的概念
分布式存儲系統的傳統定義:“分布式存儲系統是大量PC服務器通過Internet互聯,對外提供一個整體的服務”。
二、分布式儲存的發展
80年代,代表:AFS、NFS、Coda
AFS:1983年 Carnegine Mellon大學和IBM共同合作開發Andrew文件系統。
NFS:1985年Sun公司基于UDP開發了網絡共享文件系統(Network File System, NFS)。
Coda:1987年 Carnegine Mellon大學在基于AFS的基礎上開發了Coda文件系統。
90年代 ,代表:xFS
xFS:UC Berkeley參照當時高性能多處理器領域的設計思想開發了xFS文件系統。
20世紀末,代表: NAS、GFS
NAS:通過基于TCP/IP協議的各種上層應用(NFS等)在各工作站和服務器之間進行文件訪問,直接在工作站客戶端和NAS文件共享設備之間建立連接。
GFS:Google為大規模分布式數據密集型應用設計的可擴展的分布式文件系統,Google將一萬多臺廉價PC機連接成一個大規模的Linux集群,它具有高性能,高可靠性,易擴展性,超大存儲容量等優點。
現在,代表:HBase、MongoDB、DynamoDB…
HBase:列存儲數據庫,擅長以列為單位讀取數據,面向列存儲的數據庫具有高擴展性,即使數據大量增加也不會降低相應的處理速度,特別是寫入速度。
MongoDB:文檔型數據庫它同鍵值(Key-Value)型的數據庫類似,鍵值型數據庫的升級版,允許嵌套鍵值,Value值是結構化數據,數據庫可以理解Value的內容,提供復雜的查詢,類似于RDBMS的查詢條件。
DynamoDB:Amazon 公司的一個分布式存儲引擎,是一個經典的分布式Key-Value 存儲系統,具備去中心化,高可用性,高擴展性的特點。
三、Ulord分布式存儲核心框架
1、理論闡述
Ulord使用P2P的超媒體協議,可以讓網絡更快、更安全、更開放。Ulord網絡中的所有節點構成一個面向全球的、點對對的分布式文件系統,將所有具有相同文件系統的計算設備連接在一起。
每個文件及其中的所有分塊都被賦予一個稱為加密散列的唯一指紋。每個節點通過判斷文件的哈希值判斷哪些冗余重復的文件,在單個節點上確保數據不冗余。查找文件時,通過文件的哈希值就可以在網絡中查找到儲存該文件的節點,找到想要的文件; Ulord下一步計劃提供文件的歷史版本控制器,支持多節點使用并保存不同版本的文件,實現文件歷史狀態跟蹤。
其次,Ulord中文件存儲不強烈要求每一個節點都存儲所有的內容,節點的所有者可以自由選擇想要存儲的數據,對于存儲大量內容信息的節點,Ulord計費模型通過文件下載的數據量自動計算用戶收益,以此激勵用戶升級其硬件資源以提供更全面的數據存儲和維護服務來獲取收益。
說明:IPFS是一個分布式的web, 點到點超媒體協議. 可以讓我們的互聯網速度更快, 更加安全, 并且更加開放。因為使用HTTP協議每次需要從中心化的服務器下載完整的文件(網頁, 視頻, 圖片等), 速度慢, 效率低。如果改用P2P的方式下載, 可以節省近60%的帶寬。P2P將文件分割為小的塊, 從多個服務器同時下載, 速度非常快。IPFS協議的目標是取代傳統的互聯網協議HTTP。
2、配套設計體系
1)設計并實現了基于區塊鏈的分布式文件存儲、檢索和分發機制,基于底層區塊鏈集成P2P下載、分布式文件組織、智能學習等功能模塊,提供快速內容搜索服務、分布式存儲服務、點對點數據分發服務、分布式哈希索引服務、網絡資源自凈化服務等。
2)分布式哈希索引服務,Ulord網絡使用了分布式哈希表來組織用戶資源的命名空間,通過DHT在網絡節點中實現的關系映射。DHT是一個不存在中心節點的、提供key>value查詢功能的分布式系統,關于key到avlue的映射信息分布式地保存在多個節點上,數據的變化和節點的變化只會影響到部分節點,不會對所有節點產生影響。作為一種基礎架構,DHT可以用來構建更多復雜應用,比如分布式文件系統、域名服務、即時消息、P2P文件共享和內容分發平臺。
3)Ulord服務以Ulord協議為基礎,集成P2P下載、分布式文件系統、智能學習等技術組成不同的功能模塊,Ulord網絡服務可以根據用戶需求進行靈活設置。
3、增加Ulord存儲空間的措施
1)采用POW和POS混合的共識機制,吸引更多閑置資源加入Ulord網絡,POS算法適用于構建IPFS基礎設施,鼓勵更多的用戶提供大的存儲空間用于Ulord上的平臺數據。
2)引入主節點系統,將整個主節點網絡構造為點對點的分布式文件分發網絡(Interplanet File System,IPFS),提供了海量云存儲資源池和全球統一的可尋址空間存儲資源。
一句話理解Ulord分布式存儲,就是采用POW和POS混合共識機制、引入主節點系統等策略來吸引存儲資源進行共享的模式,并且 Ulord設計了很多配套體系。
四、分布式存儲的特點
1、高擴展性:分布式存儲系統可以擴展到幾萬臺甚至更多的集群規模,系統整體性能與服務器數量呈線性關系。
2、低成本性:分布式存儲系統的自動容錯、自動負載均衡的特性,允許分布式存儲系統可以構建在低成本的服務器上。
3、高可用性:分布式存儲系統在面對各種異常時可以提供正常服務的能力,系統的可用性可以用系統停服務的時間和正常服務時間的比例來衡量,例如4個99的可用性(99.99%)要求一年停機的時間不能超過3652460/10000 = 53分鐘。
4、數據一致性:分布式存儲系統多個副本之間的數據一致性,有強一致性,弱一致性,最終一致性,因果一致性,順序一致性。
5、高安全性:分布式存儲系統去中心化,不受惡意訪問和攻擊,保護存儲數據不被竊取。
參考資料:
CSDN博客
知乎,飛向未來
Ulord白皮書