手机版 花殘月缺網
在分布式存儲技術體係中,分布式文件存儲是其中的一種分類,常用於大數據架構中。 由於Hadoop的受歡迎,Hadoop本機HDFS分布式文件係統也廣為人知。 但是,分布式文件存儲係統不僅僅是HDFS。 當今的大數據開發共享主要介紹典型的分布式文件存儲係統。
分布式文件係統可以說是分布式係統下的子集。 我們選擇市場上幾種廣泛使用的產品,包括HDFS、Ceph、FastDFS和MooseFS,進行簡要分析——
HDFS如上所述,HDFS在分布式文件係統中非常受歡迎。 基於Hadoop基礎架構,HDFS自然具有很好的優勢,尤其是麵對大型離線批處理任務,地位難以動搖。
HDFS為分布式計算框架(如Spark和MapReduce )提供了大量的數據存儲服務,同時HBase和Hive的基礎存儲也依賴於HDFS。 與Hadoop生態的密切聯係也穩定地占據著市場主流。
優點:
容錯能力—數據會自動存儲多個拷貝,並在拷貝丟失後自動恢複
適用於批處理。 移動計算而不是數據。 數據位置將公布在計算框架中
適用於大數據處理。 是GB、TB、甚至GB級的數據。 百萬以上的文件數。 10K節點規模。
訪問流文件:一次寫入,多次讀取。 保證數據的一致性。
可構建在廉價的設備上:通過多拷貝提高可靠性。 提供容錯和恢複機製。
缺點:
不適合低延遲的數據訪問場景。 毫秒級別、低延遲、高吞吐量等
不適用於占用NameNode大量內存的小文件訪問場景。 搜尋時間超過了讀取時間。
不適合同時寫入。 文件隨機更改場景。 一個文件裏隻有一個寫手。 僅支持append
不符合posix語義,需要在SDK上進行讀寫操作。 java支持良好,其他語言一般
Ceph企業級存儲要求通常分為塊存儲、文件存儲和對象存儲,但Ceph可以同時滿足這三個要求。 Ceph將企業中的三個存儲需求整合到單個存儲係統中,並提供三個存儲界麵,提供分布式、橫向擴展和高可靠性存儲,具有高可用性、高性能和可擴展性等特點。
優點:
支持對象存儲(OSD )集群,CRUSH算法可完成文件的動態定位,提高處理效率
符合posix語義,支持FUSE裝載,降低客戶端開發成本,通用性強
支持分布式MDS/MON,無單點故障
強大的容錯能力和自我修複能力
支持在線擴展和冗餘備份,提高係統可靠性
缺點:
目前正處於試驗階段,係統的穩定性有待研究
部署和運輸複雜,集群管理工具少
FastDFSFastDFS是用c語言開發的開源輕量級分布式文件係統,包括文件存儲、文件同步和文件訪問(文件上傳/下載) 特別適用於以圖像網站、視頻網站等文件為媒體的在線服務。 追求性能和可擴展性的FastDFS適合視為基於文件的key value pair存儲係統,稱為分布式文件存儲服務。
優點:
支持在線擴展機製,提高係統可擴展性
實現了軟RAID,提高了係統的並發處理能力和數據容錯能力
支持主從文件,自定義擴展名
學好追蹤器服務,提高係統可用性
缺點:
不支持POSIX通用接口訪問,通用性低
公共網絡之間的文件同步有很大的延遲,需要應用適當的容錯策略
同步機製不支持文件正確性檢查,這會降低係統可用性
通過API下載,存在單點性能瓶頸
MooseFSMooseFS出現在HDFS之後,也是類似的MDS OSS架構。 與HDFS不同,MooseFS沒有假設在其上運行的業務,也沒有假設業務是大文件或大文件。 也就是說,MooseFS是ext4、XXT那樣的定位
優點:
擴展成本低,支持在線擴展,不影響業務,體係結構可擴展性非常高
支持訪問POSIX通用接口,支持FUSE裝載,降低客戶端開發成本,通用性強
文件對象具有高可用性,可以設置任何文件冗餘(提供高於Raid 10的冗餘級別) ) ) ) ) ) ) ) ) ) ) )。
提供係統負載,將數據讀寫分配給所有服務,提高讀寫性能
實現了軟RAID,提高了係統的並發處理能力和數據容錯能力
數據恢複相對容易,提高了係統可用性。 有垃圾桶功能,方便業務定製
缺點:
主服務器點解決方案的穩健性。 如果主服務器出現問題,則Metalogger Server可以恢複到主服務器的升級,但需要恢複時間
主服務器本身的性能瓶頸。 MFS的主從體係結構類似於MySQL的主從複製,可以從擴展,但主站不容易擴展
存儲在MFS體係結構中的文件總數增加會增加主服務器的內存需求
以上簡要介紹了大數據開發、分布式文件存儲係統。 分布式文件係統是解決大數據存儲問題的重要基礎支持,需要了解市場上的主要分布式存儲產品。