分佈式數據庫到底分佈在哪裏了,優缺點在哪裏

公司技術分爲濃重,在衆多的興趣小組裏面有一個分佈式數據庫的小組,本週五需要進分享,是在是慚愧,作爲這個小組的 specialist, 啥都沒有做,所以趕緊弄弄,要不說啥。

分佈式式數據庫到底分佈在哪裏了,大多數的定義中大家確認分佈式數據庫是通過網絡方式,兩個以上的節點,基於分佈式協議通過文件系統組成的數據存儲和處理單元的統稱叫分佈式數據庫。

下面畫了四種數據庫類型,或者說四種分佈式數據庫系統成型的狀態

1  存儲分佈式,但計算單元沒有分佈式,首要要說的,在數據庫內部進行分區表的,可不是分佈式,因爲定義中提出,通過網絡。所以下方的分佈式系統是通過將數據打散後,形成分佈式存儲,而上面的計算單元並不是分佈式。但通過定義來說,這樣的設計本身也不能說明,他不是一個分佈式數據庫系統。

這樣設計的數據庫系統優點在於,數據庫本身的形成簡單,基本上沒有太大脫離單體數據庫原理,只是擴展了數據存儲部分,提高了數據的存儲容量,以及在大量數據提取中的速度。

第二種方式和上面的方式,不同。是將計算單元進行了分佈式處理,通過計算單元的分佈式方式,提高了數據的計算能力,並且每個計算單元本身也是弱耦合的。終究限制計算單元之間的性能問題是,網絡,數據存儲速度等,同時限制在存儲層面容量的問題也必須考慮在內。

第三種方式存儲單元和計算單元通過網絡連接的方式分割開來,之間的訪問邏輯關係複雜,但對外來說看上去是一個數據庫。但這樣的設計中存儲單元和計算單元溝通的成本大,鎖設計需要更多的巧妙心思,才能達到實際中的性能設想。

最後一種本身和第三種類似,但是這個設計中本身存儲單元和計算單元並沒有分割開來,並且需要協調單元來進行數據的訪問路由等事情,這個設計中的問題,一部分與上面圖中的設計類似,同時還需要接受存儲單元和計算單元在性能問題出現後的更多問題的存在。

基於我淺薄的分佈式系統的知識,簡單的將分佈式數據庫到底哪裏分佈進行了一個總結

1  存儲分佈式

2  計算節點分佈式

3  計算節點 ,存儲節點,分佈式

4  計算單元分佈式

關於題目中的第一個部分關於分佈式的問題,分佈式到底哪裏分佈了,進行了說明。第二個問題,各種分佈式的方式中,優缺點又在哪裏???

先說第一種方式,第一種方式中的數據庫系統,其實在我們日常的數據庫系統中,非常的常見,如我們的 MOGNODB SHARDING,  REDIS CLUSTER , ES 等系統都屬於,存儲方面的分佈式成型,或者通過中間件 DBLE 對 MYSQL 數據庫進行的存儲節點的分佈式本身也都屬於這一個屬性,但實際上這裏這些實體的成型的分佈式存儲式數據庫,又多多少少在計算節點和存儲節點上也有部分聯繫和功能。

第二種方式,第二種方式本身基於存儲本身並沒有進行分佈式,所以這個部分的分佈式產品本身的存儲系統需要強悍的能力,才能完成衆多計算節點對其數據的索取需求。但這樣設計的分佈式數據庫系統有點也很明顯,本身不必要考慮數據的不一致性在存儲層面,而內存中的基於多版本信息的一致性倒是被提上需要考慮的問題,否則節點之間在同一個時間由於數據的延遲不一致等問題,給出的計算結果不一致,這就不可以了。

第三種方式,本身的聯合第四種方式說,或者說第三種方式是,第四種方式的變種,而第四種方式纔是目前不少分佈式數據庫的形成。第四種的分佈式每個節點本身至少帶有兩種屬性,計算節點和存儲節點的功能,甚至一個節點還帶有,數據遷移和數據訪問路由的功能,也有部分分佈式數據庫本身不帶有這樣的功能。

具體分佈式數據庫有那些特性可總結一下,不是每種數據庫都具備以下所有的特性

1  存儲的獨立性

2  查詢語句的分佈式處理

3  分佈式事務的管理系統

4   硬件的獨立性

5  操作系統的獨立性

6  網絡獨立性

7  節點之間的協調交互能力,與數據的在分配和遷移的能力。

而分佈式數據庫本身的性能本身也與,不同的架構設計,導致的分佈式數據庫系統在滿足原由單體數據庫中對於事務,以及多版本控制的要求的情況下,越發的複雜。同時分佈式數據庫本身,節點的增加和性能的提高本身也不一定是一個線性遞增的過程,很可能是一個拋物線的狀態,節點越多,維護和基於數據一致性導致的節點之間的溝通成本越發的高昂,導致分佈式數據庫系統性能降低。等等問題。同時分佈式數據庫系統,對於硬件的本身的依賴,尤其在磁盤系統,網絡系統等都與單節點系統有很大的不同。

所以一個分佈式數據庫系統本身,在數據同步狀態,節點之間的數據狀態交互,與數據路由等部分都還是一個需要繼續研究的狀態。同時分佈式系統本身也需要針對相關的應用來進行匹配,有些應用的性質對於分佈式數據庫本身並不適合,成本的原因等等也是需要考慮的部分。

但不可以否認的,分佈式數據庫系統,在容災的程度,以及在硬件存儲系統成爲瓶頸的狀態下,是一個解決問題的方法。

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/22R_uKn4eUuG6uDUG6wEnw