- 分布式實時處理系統:原理、架構與實現
- 盧譽聲
- 687字
- 2019-01-03 10:50:23
1.5.3 分布式存儲系統分類
相比傳統的關系型數據庫,分布式存儲系統類別眾多,不同的分布式存儲系統可以應用于不同的場合和領域,本書根據分布式存儲系統面向對象的不同,將其分成列存儲系統、文檔型存儲系統、圖形存儲系統、鍵值對存儲系統以及分布式文件系統。
(1)列存儲系統
列存儲系統的典型代表是HBase和Cassandra,這類分布式存儲系統與傳統的面向行的關系型數據庫不同,以列為存儲單位。其中我們可以預先定義固定數量的列簇(Column Family),而列簇中的列數量可以任意擴展。列也沒有數據類型,需要用戶自行進行數據類型轉換。每一行有一個行鍵,可以用于索引。這樣既方便模式定義的擴展,又方便數據的分塊存儲。
(2)文檔型存儲系統
以MongoDB、CouchDB為代表,以文檔為數據存儲單位,每個文檔都有唯一ID,不同文檔一般邏輯與物理上相互獨立,互不關聯,可以自由分布式地存儲在集群的各個節點上。
(3)圖形存儲系統
典型代表是Neo4j。這是一種面向網絡的存儲方式,以節點為單位存儲數據,并通過在節點之間建立網絡來建立數據之間的聯系。同樣也是一種無模式的存儲方式。由于數據以網絡形式存儲,因此可以建立快速的遍歷算法、推薦系統等。
(4)鍵值對存儲系統
其典型代表是Redis和Riak。這類數據庫將數據存儲為鍵值對,是非常簡單的數據存儲方式。這類數據庫不一定是分布式存儲系統,但Riak自身支持分布式存儲,而3.0版本的Redis也自身支持集群功能。
(5)分布式文件系統
與以上存儲系統不同,該類系統不屬于數據庫的范疇。其典型代表是HDFS,顧名思義就是分布式的文件系統,支持所有的文件系統操作,如創建、刪除文件與目錄,用戶權限管理,時間戳等,其功能與傳統文件系統一致,只是將文件分散存儲在集群的不同節點上。
推薦閱讀
- Linux設備驅動開發詳解(第2版)
- Linux系統文件安全實戰全攻略
- Mobile-first Bootstrap
- 大學計算機應用基礎實踐教程(Windows 7+Office 2013)
- FreeRTOS實時內核應用指南
- Arch Linux Environment Setup How-to
- 精解Windows8
- Linux操作系統應用編程
- Windows Server 2019 Administration Fundamentals
- 移動應用UI設計模式(第2版)
- Windows 7案例教程
- Kali Linux高級滲透測試
- Windows 7實戰從入門到精通
- Mastering Windows 8 C++ App Development
- Linux應用大全 基礎與管理