一、概述

一般普通存儲方案有:Rsync、DAS(IDE/SATA/SAS/SCSI等塊)、NAS(NFS、CIFS、SAMBA等文件系統)、SAN(FibreChannel, iSCSI, FoE存儲網絡塊),Openfiler、FreeNas(ZFS快照複製)。由於生產環境中往往對存儲數據量很大,而SAN存儲價格又比較昂貴,因此大多會選擇分佈式存儲來解決以下問題:

海量數據存儲問題
數據高可用問題(冗餘備份)問題
較高的讀寫性能和負載均衡問題
支持多平臺多語言問題
高併發問題

存儲方案區別

超詳細的fastdfs和其他文件系統區別介紹


常用的分佈式文件系統

常見的分佈式文件系統有FastDFS,GFS、HDFS、Ceph 、GridFS 、mogileFS、TFS等。各自適用於不同的領域。它們都不是系統級的分佈式文件系統,而是應用級的分佈式文件存儲服務。

1、FastDFS介紹

前面已經單獨一篇介紹過這塊了,所以這裡就不做介紹了。

超詳細的fastdfs和其他文件系統區別介紹

2、GFS(Google File System)

Google公司為了滿足本公司需求而開發的基於Linux的專有分佈式文件系統。。儘管Google公佈了該系統的一些技術細節,但Google並沒有將該系統的軟件部分作為開源軟件發佈。

超詳細的fastdfs和其他文件系統區別介紹

GFS 架構

3、HDFS(Hadoop Distributed File System)

Hadoop 實現了一個分佈式文件系統,主要用於大數據計算存儲,簡稱HDFS。 Hadoop是Apache Lucene創始人Doug Cutting開發的使用廣泛的文本搜索庫。它起源於Apache Nutch,後者是一個開源的網絡搜索引擎,本身也是Luene項目的一部分。

Aapche Hadoop架構是MapReduce算法的一種開源應用,是Google開創其帝國的重要基石。

超詳細的fastdfs和其他文件系統區別介紹

4、Ceph

是加州大學聖克魯茲分校的Sage weil攻讀博士時開發的分佈式文件系統。Ceph能夠在維護 POSIX 兼容性的同時加入了複製和容錯功能。Sage weil並使用Ceph完成了他的論文。說 ceph 性能最高,C++編寫的代碼,支持Fuse,並且沒有單點故障依賴。

超詳細的fastdfs和其他文件系統區別介紹

由於 ceph 使用 btrfs 文件系統, 而btrfs 文件系統需要 Linux 2.6.34 以上的內核才支持。

5、GridFS文件系統

MongoDB是一種知名的NoSql數據庫,GridFS是MongoDB的一個內置功能,它提供一組文件操作的API以利用MongoDB存儲文件,GridFS的基本原理是將文件保存在兩個Collection中,一個保存文件索引,一個保存文件內容,文件內容按一定大小分成若干塊,每一塊存在一個Document中,這種方法不僅提供了文件存儲,還提供了對文件相關的一些附加屬性(比如MD5值,文件名等等)的存儲。文件在GridFS中會按4MB為單位進行分塊存儲。

6、MogileFS

由memcahed的開發公司danga一款perl開發的產品,目前國內使用mogielFS的有圖片託管網站yupoo等。

MogileFS是一套高效的文件自動備份組件,由Six Apart開發,廣泛應用在包括LiveJournal等web2.0站點上。

MogileFS由3個部分組成:

第1個部分是server端,包括mogilefsd和mogstored兩個程序。前者即是 mogilefsd的tracker,它將一些全局信息保存在數據庫裡,例如站點domain,class,host等。後者即是存儲節點(store node),它其實是個HTTP Daemon,默認偵聽在7500端口,接受客戶端的文件備份請求。在安裝完後,要運行mogadm工具將所有的store node註冊到mogilefsd的數據庫裡,mogilefsd會對這些節點進行管理和監控。

第2個部分是utils(工具集),主要是MogileFS的一些管理工具,例如mogadm等。

第3個部分是客戶端API,目前只有Perl API(MogileFS.pm)、PHP,用這個模塊可以編寫客戶端程序,實現文件的備份管理功能。

7、TFS

TFS(Taobao !FileSystem)是一個高可擴展、高可用、高性能、面向互聯網服務的分佈式文件系統,主要針對海量的非結構化數據,它構築在普通的Linux機器 集群上,可為外部提供高可靠和高併發的存儲訪問。TFS為淘寶提供海量小文件存儲,通常文件大小不超過1M,滿足了淘寶對小文件存儲的需求,被廣泛地應用 在淘寶各項應用中。它採用了HA架構和平滑擴容,保證了整個文件系統的可用性和擴展性。同時扁平化的數據組織結構,可將文件名映射到文件的物理地址,簡化 了文件的訪問流程,一定程度上為TFS提供了良好的讀寫性能。


篇幅有限,關於各類文件系統存儲方案簡單介紹到這,其中用的最多的還是fastdfs和HDFS,大家可以自己搭建研究一下,後面小編會分享更多devops和DBA方面的內容,感興趣的朋友走一波關注哩~

超詳細的fastdfs和其他文件系統區別介紹

相關推薦

推薦中...