分佈式存儲技術最全詳解 -圖文全面總結-
大家好,我是 mikechen 睿哥。
分佈式存儲技術是大型架構的基石,下面我重點詳解分佈式存儲技術 @mikechen
分佈式文件存儲
隨着互聯網、大數據、雲計算和人工智能等技術的發展,數據量呈爆炸式增長。
傳統的文件存儲方式,難以滿足日益增長的存儲需求,它們通常面臨擴展性差、單點故障、性能瓶頸等問題。
分佈式文件存儲應運而生,它通過將文件數據分割成小塊,並存儲在集羣中的多臺機器上。
從而實現了海量數據的存儲,目前已成爲構建可擴展、可靠的雲計算平臺、和大數據分析系統的基石。
HDFS
HDFS 是 Hadoop 生態系統的核心組件之一,專爲大數據存儲而設計。
它採用 Master-Slave 架構,主要由以下幾部分組成:
NameNode(主節點)
負責管理元數據(如文件目錄結構、塊位置、權限等),是整個系統的 “調度大腦”。
DataNode(數據節點)
負責真正的數據存儲,每個文件被切分爲多個數據塊(Block),分佈在多個 DataNode 上。
客戶端(Client)
通過 NameNode 獲取元數據信息後,直接與 DataNode 通信,進行數據讀寫。
HDFS 主要用於存儲海量大文件,特別是那些需要進行大數據分析的文件。
作爲 Hadoop 的存儲層,支持 MapReduce、Spark、Hive 等大數據處理框架。
CephFS
CephFS 是 Ceph 提供的 POSIX 兼容的分佈式文件系統,其架構基於 Ceph 的統一存儲平臺構建。
整體架構,如下圖所示:
主要包含,如下組件:
RADOS(底層對象存儲)
Ceph 的底層存儲引擎,負責所有數據的存儲、複製、故障恢復和一致性保證。
所有實際的數據、和元數據塊都存儲在 RADOS 對象中,由 OSD 守護進程負責管理
OSD
Ceph 集羣中存儲數據的基本單元,每個 OSD 管理一個本地磁盤上的對象集合。
OSD 負責數據讀寫、副本管理、數據恢復等。
MDS(元數據服務器)
存儲和管理 CephFS 的元數據(文件和目錄結構、權限等)。
MDS 不存儲實際的文件數據,只管理文件的元信息。
與 HDFS 不同,CephFS 更強調通用性,能更好地支持各種大小的文件和更頻繁的修改操作。
GFS
GFS 是 Google 爲大規模數據處理而設計的分佈式文件系統,其架構影響了 Hadoop HDFS 的設計。
整體架構,如下圖所示:
Master(主節點)
存儲元數據,如文件目錄、塊映射關係。
ChunkServer(塊服務器)
實際存儲數據塊(Chunk),每個塊默認大小爲 64MB,並有多個副本。
Client
與 Master 通信獲取元信息,再與 ChunkServer 直接通信處理數據。
GFS 設計之初的目標是支持 Google 內部的大規模、高吞吐量、追加寫入的批處理應用。
比如:Web 爬蟲、索引構建等,它爲大數據量、低成本、高可靠性的存儲提供瞭解決方案。
TFS
TFS 是阿里巴巴,針對其電商業務特點(特別是圖片、音視頻等海量小文件存儲和訪問),而開發的分佈式文件系統。
TFS 也採用了 Master-Slave 架構,並在此基礎上進行了優化:
比如:淘寶圖片,商品圖片、用戶頭像… 等等,被廣泛部署在阿里系的多個核心業務中。
TFS 的核心作用是:解決海量小文件的存儲、和高併發訪問問題。
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/yq-ILsXDY97CDilPcsxkhA