塊儲存 檔案儲存 物件儲存

一介莽夫發表於2020-05-28
# 塊儲存檔案儲存物件儲存

### 簡介

主要是從訪問方式的不同來區分的,之所以會有不同的訪問方式是因為使用者需求不同.
對於塊儲存來說,資料是以塊的形式來管理的,每個塊都有自己的地址空間.傳統的塊儲存如SAN(storage area network),它提供一個網路塊儲存服務,客戶端可以通過iSCSI等協議來訪問它,使用者也可以在塊儲存服務上建檔案系統.
對於檔案儲存來說,資料是以一個個檔案來管理的.傳統的檔案儲存如NAS(network attached storage), 它提供一個網路檔案儲存服務,客戶端可以通過NFS, SMB等協議來訪問它.
對於物件儲存來說,資料就是一個個的物件,使用者操作的目標就是一個個的物件.相對與檔案儲存和塊儲存來說,物件儲存是一個新的儲存模式.一般來說,物件儲存的一個物件包含三類資料,即物件ID,後設資料和物件資料.物件儲存訪問方式基本都是基於HTTP的RESTFUL,這是因為把物件儲存發揚光大的AWS用的是這個協議,所以大家都預設用這個協議.

## 塊儲存

塊儲存將資料切分成塊,每一塊是一個獨立的儲存片段.這種儲存方式幾乎很少的後設資料資訊.
使用者的每次讀寫都能直接有效的操作磁碟的具體位置.所以這種儲存方式的優點也很明顯,就是簡單並且高效,簡單是指訪問方式很簡單粗暴,固定的位置以及資料讀寫的長度;高效是說不會增加更多的磁碟IO操作,響應更快.缺點就是訪問方式過於粗暴,完全沒有結構化的資訊,讀寫它的時候需要記住位置才能做準確的訪問.

塊儲存的主要使用者都是系統軟體而非人,如Oracle\DB2這些傳統軟體, 又如vmware這類雲端計算產品.

### 傳統塊儲存

傳統塊儲存通常通過獨立於TCP/IP外的網路訪問,用RAID的方式提供資料安全保障
這種方式成本高,效能好,擴充套件性不好.

### 分散式塊儲存

分散式塊儲存一般以ISCSI的網路服務提供,相對於傳統塊儲存,它具有更廉價的成本和更好的擴充套件性以及靈活的資料備份方式.
分散式塊儲存可以同時工作在多塊磁碟上面,所以它的吞吐量更好.但是由於網路互動次數的關係,一次io讀寫會有更高的延遲.

## 檔案儲存

和塊儲存不同,檔案儲存更注重的資料組織和呈現.檔案儲存是一個完全結構化的儲存方式.
無論是自然人還是軟體系統,都可以非常方便有效的對檔案儲存進行操作.

操作一個檔案可以根據單一的檔案路徑指向資料位置,這些操作都需要通過後設資料來輔助完成.
和塊儲存相比,這些後設資料操作影響了效能.

檔案儲存還有許可權,鎖,檔案共享等其它塊儲存沒有的功能.

分散式檔案儲存傳統相較於檔案儲存和主要區別也是在於成本更低和更好的擴充套件性

## 物件儲存
物件儲存,一個結構化介於塊儲存和檔案儲存之間的新的儲存模式,物件儲存不像檔案儲存那樣採用樹狀結構,而是採用一對一的扁平結構.

物件儲存的訪問介面只有物件ID本身,它沒有檔案儲存那麼負責的後設資料管理,又可以基本呈現資料.它的訪問效能應該基於塊儲存和檔案儲存之間.

分散式物件儲存的另外一個有點是擴充套件性非常好,幾乎不必要太多的代價就可以完成對儲存系統的擴容.

相關文章