對象存儲、文件存儲和塊存儲的區別
文件存儲
文件存儲是最常見的存儲類型之一。大多數人從日常的計算機使用中熟悉它。考慮一個簡單的案例:您將最近旅行中的照片存儲在個人筆記本電腦/台式機上。首先,創建一個名為“我的旅行”的文件夾。現在,您可以在此文件夾下添加名為“我的收藏夾”的另一個文件夾,並將您喜愛的照片放入其中。通過這種方式,您將文件組織為具有文件夾和子文件夾的分層結構,並可以使用文件夾/文件路徑訪問它們。
以這種方式存儲文件時,它附加的元數據有限,例如創建日期,修改日期和文件大小。隨著數據量的增長,這種簡單的組織架構可能會引發問題。性能可能下降是因為文件系統上的資源需求不斷增加以跟踪文件和文件夾,並且這些“結構”問題無法通過簡單地增加文件系統可用的存儲空間來解決。
儘管存在大規模潛在問題,但文件系統在工作場所和大中型企業中使用的個人計算機和服務器上的日常使用情況良好。通常在硬盤驅動器和網絡連接存儲(NAS)系統上看到並部署文件存儲。
對象存儲
對象存儲是一種數據存儲,其中每個數據單元(稱為“對象”)作為離散單元存儲這些對象實際上可以是任何類型的數據:PDF、視頻、音頻、文本、網站數據或任何其他文件類型。
與文件存儲相反,這些對象存儲在單個平面結構中,沒有文件夾層次結構。在對象存儲中,與文件存儲使用的嵌套分層結構不同,所有對像都存儲在平面地址空間中。此外,所有默認和自定義元數據都與對象本身(不作為單獨的文件系統表或索引的一部分)一起存儲在具有唯一標識符的平面地址空間中,並且這種方式變得更容易索引和訪問。
對象存儲在基於雲的存儲方案中非常常見,可用於以極高的可伸縮性和可靠性管理,處理和分發內容平面尋址方案意味著訪問單個對象既快速又簡單:對象名稱可以作為查找表中的“鍵”。對象存儲系統只需要知道您要查找的對象的鍵(名稱),然後可以使用查找表快速輕鬆地將其返回給您。
塊存儲
對象存儲和文件存儲都將文件視為單個“數據單元”。正如名稱所示,塊存儲將數據視為一系列固定大小的“塊”,其中每個文件或對象可以分佈在多個塊上。不需要連續存儲這些塊。每當用戶請求該數據時,底層存儲系統將數據塊合併在一起並提供用戶請求。
這可以在不需要分層結構的情況下實現,因為每個塊具有不同且唯一的地址並且獨立於所有其他塊而存在。在某些情況下,塊存儲可以非常快速地檢索數據,因為不一定需要讀取數據的一條路徑(想像一下磁盤陣列,其中可以從多個磁盤讀取同一文件的數據)。塊存儲也實現了高效率,因為塊可以存儲在最方便的地方(表示相同文件或對象的塊不需要彼此相鄰地存儲)。但是,塊存儲通常很昂貴,並且處理元數據的能力有限(對像或文件級概念),這些需要在應用程序級別進行處理。塊存儲通常部署在存儲區域網絡(SAN)存儲中。在大多數應用程序中,對像或文件存儲實際上是底層塊存儲之上的一層。您可以將塊存儲視為構建文件存儲系統的基礎。
下表比較了不同類型存儲的不同功能。塊存儲是“高度結構化的”,因為每個數據塊都排列在結構化的固定塊中,以便於索引和搜索。文件存儲以分層方式被索引和“結構化”,並且對象存儲是“非結構化的”,因為沒有用於數據存儲的格式或結構,而是存在簡單的對象列表。簡單來說,“數據一致性”可以理解為存儲系統所做的讀取,寫入和更新保證,例如最近寫入的對像是否可以立即回讀。 “訪問級別”是用戶必須訪問和操作數據的權限級別。
能力 | 對象存儲 | 文件存儲 | 塊存儲 |
一致性 | 最終一致性 | 強一致性 | 強一致性 |
結構 | 非結構化 | 層級結構 | 以塊為結構 |
存儲級別 | 對象級別 | 文件級別 | 塊級別 |