分布式儲存系統概述

2021-06-29 05:10:24 字數 1349 閱讀 1838

雲計算、大資料,這些熱點詞彙,後台的基礎設施離開不了分布式儲存系統,它的兩個特點,一是規模大,二是成本低。其實分布式系統的設計是根據需求來變化的,那麼我們接下來就看,我們需要儲存哪些資料,以及,分布式儲存系統有哪些分類。

1. 分布式儲存的資料

大致可以分為三類:

結構化資料:這個最容易理解,關聯式資料庫中存的表(比如員工名稱、資訊等等),模式(schema,包括屬性、資料型別、資料關係等)與內容是分開的;

半結構化資料:介於上述兩者之間,比如html網頁,schema和內容混雜在一起。

2. 分布式儲存的分類

四種類別,我們逐一來說,最後舉例。

(1)分布式檔案系統

儲存binary large object(blob),定長塊,以及大檔案,如下圖:

當然,分布式檔案系統將這些資料塊分散到儲存集群,需要處理資料複製、一致性、負載均衡、容錯等分布式系統難題,並將blob、定長塊、大檔案的操作對映為對底層資料塊的操作。

google file system(gfs)為分布式檔案系統。

(2)分布式鍵值系統(key-value)

儲存關係較簡單的半結構化資料,只提供基於主鍵的crud操作(create,read,update,delete),我們可以想象為,經過key-value對映,資料被對映到不同的集群中。一般它使用一致性雜湊演算法,這個後面我們會介紹。

(3)分布式**系統

儲存關係較複雜的半結構化資料,與key-value系統相比,key-value系統可以看成**系統的一種簡化實現,key-value系統一般用作快取。

分布式**系統借鑑了很多關聯式資料庫的功能,比如說事物。

google bigtable是分布式**系統,它的底層為google file system。

(4)分布式資料庫

一般從單機關聯式資料庫擴充套件而來,用於儲存結構化資料,所以分布式資料庫也支援sql(structured query language)。

google spanner系統是乙個支援多資料中心的分布式資料庫。

下面說說關聯式資料庫,因為我們常見的oracle,microsoft sql server,ibm db2,mysql都是商業的關聯式資料庫軟體,但是,傳統的關聯式資料庫在高併發性和可擴充套件性上面優化空間較大。

所以,為了解決關聯式資料庫面臨的高併發、可擴充套件性以及效能方面的問題,各種非關係型資料庫風起雲湧,統稱為nosql(not only sql)系統。

概述就那麼多,可能看完這些並不能直觀地區分開各種分布式儲存,但是,以上只是給出大概得分類,當你去**內部細節時,便豁然開朗了。

分布式儲存系統概述

分布式儲存系統定義 由大量普通pc伺服器通過internet互聯,對外作為乙個整體提供服務,具有可擴充套件,低成本,高效能,易用的特點。結構化資料 一般儲存在關係型資料庫中,可以用二維關係表結構來表示 半結構化資料 一般是自描述的,如html文件 分布式檔案系統 儲存blob資料 二進位製大物件,如...

分布式系統概述

2分布式系統概述注 由於大資料技術領域的各類技術框架基本上都是分布式系統,因此,理解hadoop storm spark 等技術框架,都需要具備基本的分布式系統概念 該軟體系統會劃分成多個子系統或模組,各自執行在不同的機器上,子系統或模組之間通過網路通訊進行協作,實現最終的整體功能 比如分布式作業系...

分布式系統概述

2分布式系統概述 注 由於大資料技術領域的各類技術框架基本上都是分布式系統,因此,理解hadoop storm spark 等技術框架,都需要具備基本的分布式系統概念 該軟體系統會劃分成多個子系統或模組,各自執行在不同的機器上,子系統或模組之間通過網路通訊進行協作,實現最終的整體功能 比如分布式作業...