1. 程式人生 > >物件儲存與塊儲存

物件儲存與塊儲存

什麼是塊儲存

資料被儲存在固定大小的塊內。塊內只儲存資料本身;Address就是塊唯一的識別資訊;對於塊儲存,沒有metadata. 當應用和資料都在本地的時候,效能會比較好;當應用和資料在地理位置上分離較遠的時候,效能會較差。
常見的企業級塊儲存由SAN提供。

適用場景:
塊儲存適合用於事務型資料庫。一個重要原因是塊儲存是強一致性的。

什麼是物件儲存

每個物件包括3個部分:

  • 資料本身
  • 可定製化的metadata,其型別和數量也沒有限制
    包括“資料是什麼”的上下文資訊、用途、安全資訊、等等。
  • 全域性唯一識別符號

物件儲存特點:

  1. 易於擴充套件:所有物件都是平級的,沒有等級關係;物件的數目沒有限制
  2. 易於分類和搜尋:因為metadata tags,所以物件是自描述的

適用場景:

  1. 易於搜尋和易於擴充套件的特性,使得物件儲存適用於儲存非結構化的資料。比如,網盤儲存的使用者的音訊、視訊檔案就是非結構化資料,因此,物件儲存常常用來作為網盤的後端。
  2. 物件儲存不支援增量地修改一個檔案的某一個部分(而塊儲存支援)。組成一個檔案的所有物件必須被當成一個整體來訪問、更新、重寫。這樣會影響效能。因此,物件儲存更適用於讀多寫少的場景。

物件儲存的缺點:
物件儲存是最終一致性的(塊儲存是強一致性的),因此,物件儲存不能保證一次讀請求返回的是最新版本的資料。(注:似乎Ceph是強一致性的,這裡還有待再研究一下)

塊儲存與物件儲存的差異

物件儲存 塊儲存
適合用場景 非結構化資料,尤其是讀多寫少的場景 結構化資料、事務型資料庫
一致性 最終一致性 強一致性
擴充套件性 擴充套件無限制,可達PB級或更高 不易擴充套件
分析性 易於搜尋與獲取資料 因沒有metadata,不易搜尋與獲取資料
儲存位置 資料可以跨不同的地理位置儲存 資料和應用的距離越遠,效能越差

另外,作業系統可以直接將塊儲存作為掛載的捲進行訪問,而物件儲存則無法在不顯著降低效能的情況下進行訪問。 因為塊儲存(例如重新對映卷)的儲存管理開銷很小,而物件儲存的儲存管理開銷較大。

(完)