# 塊存盤檔案存盤物件存盤
### 簡介
主要是從訪問方式的不同來區分的,之所以會有不同的訪問方式是因為用戶需求不同.
對于塊存盤來說,資料是以塊的形式來管理的,每個塊都有自己的地址空間.傳統的塊存盤如SAN(storage area network),它提供一個網路塊存盤服務,客戶端可以通過iSCSI等協議來訪問它,用戶也可以在塊存盤服務上建檔案系統.
對于檔案存盤來說,資料是以一個個檔案來管理的.傳統的檔案存盤如NAS(network attached storage), 它提供一個網路檔案存盤服務,客戶端可以通過NFS, SMB等協議來訪問它.
對于物件存盤來說,資料就是一個個的物件,用戶操作的目標就是一個個的物件.相對與檔案存盤和塊存盤來說,物件存盤是一個新的存盤模式.一般來說,物件存盤的一個物件包含三類資料,即物件ID,元資料和物件資料.物件存盤訪問方式基本都是基于HTTP的RESTFUL,這是因為把物件存盤發揚光大的AWS用的是這個協議,所以大家都默認用這個協議.
## 塊存盤
塊存盤將資料切分成塊,每一塊是一個獨立的存盤片段.這種存盤方式幾乎很少的元資料資訊.
用戶的每次讀寫都能直接有效的操作磁盤的具體位置.所以這種存盤方式的優點也很明顯,就是簡單并且高效,簡單是指訪問方式很簡單粗暴,固定的位置以及資料讀寫的長度;高效是說不會增加更多的磁盤IO操作,回應更快.缺點就是訪問方式過于粗暴,完全沒有結構化的資訊,讀寫它的時候需要記住位置才能做準確的訪問.
塊存盤的主要用戶都是系統軟體而非人,如Oracle\DB2這些傳統軟體, 又如vmware這類云計算產品.
### 傳統塊存盤
傳統塊存盤通常通過獨立于TCP/IP外的網路訪問,用RAID的方式提供資料安全保障
這種方式成本高,性能好,擴展性不好.
### 分布式塊存盤
分布式塊存盤一般以ISCSI的網路服務提供,相對于傳統塊存盤,它具有更廉價的成本和更好的擴展性以及靈活的資料備份方式.
分布式塊存盤可以同時作業在多塊磁盤上面,所以它的吞吐量更好.但是由于網路互動次數的關系,一次io讀寫會有更高的延遲.
## 檔案存盤
和塊存盤不同,檔案存盤更注重的資料組織和呈現.檔案存盤是一個完全結構化的存盤方式.
無論是自然人還是軟體系統,都可以非常方便有效的對檔案存盤進行操作.
操作一個檔案可以根據單一的檔案路徑指向資料位置,這些操作都需要通過元資料來輔助完成.
和塊存盤相比,這些元資料操作影響了性能.
檔案存盤還有權限,鎖,檔案共享等其它塊存盤沒有的功能.
分布式檔案存盤傳統相較于檔案存盤和主要區別也是在于成本更低和更好的擴展性
**檔案系統相較于物件存盤,有完整的檔案屬性,包括權限\鎖等,一般來說都支持posix
## 物件存盤
物件存盤,一個結構化介于塊存盤和檔案存盤之間的新的存盤模式,物件存盤不像檔案存盤那樣采用樹狀結構,而是采用一對一的扁平結構.
物件存盤的訪問介面只有物件ID本身,它沒有檔案存盤那么負責的元資料管理,又可以基本呈現資料.它的訪問性能應該基于塊存盤和檔案存盤之間.
分布式物件存盤的另外一個有點是擴展性非常好,幾乎不必要太多的代價就可以完成對存盤系統的擴容.
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/10757.html
標籤:其他
