早期在數(shù)據(jù)量還不是很大的時(shí)候,數(shù)據(jù)庫(kù)就采用一種很簡(jiǎn)單的單機(jī)服務(wù),在一臺(tái)專用的服務(wù)器上安裝數(shù)據(jù)庫(kù)軟件,對(duì)外提供數(shù)據(jù)存取服務(wù)。但隨著業(yè)務(wù)規(guī)模增大,數(shù)據(jù)庫(kù)存儲(chǔ)的數(shù)據(jù)量和承載的業(yè)務(wù)壓力也不斷增加。數(shù)據(jù)庫(kù)的架構(gòu)也必須隨之變化。

如上的架構(gòu)分類方法,是一種按照主機(jī)數(shù)量來區(qū)分的分類方式,分別是單機(jī)架構(gòu)和多機(jī)架構(gòu)。單機(jī)架構(gòu)分為單主機(jī)和獨(dú)立主機(jī),多機(jī)架構(gòu)分為分組和分片。
為了避免應(yīng)用服務(wù)和數(shù)據(jù)庫(kù)服務(wù)對(duì)資源的競(jìng)爭(zhēng),單機(jī)架構(gòu)也從早期的單主機(jī)模式發(fā)展到數(shù)據(jù)庫(kù)獨(dú)立主機(jī)模式,把應(yīng)用和數(shù)據(jù)服務(wù)分開,應(yīng)用服務(wù)可以增加服務(wù)器數(shù)量,進(jìn)行 負(fù)載均衡 ,來增大系統(tǒng)并發(fā)能力。單機(jī)部署形式,在研發(fā)、學(xué)習(xí)以及模擬環(huán)境中具有靈活、部署方便等特點(diǎn)。單機(jī)架構(gòu)有幾個(gè)顯著的不足:

1、可擴(kuò)展性。數(shù)據(jù)庫(kù)單機(jī)架構(gòu)擴(kuò)展性只有縱向擴(kuò)展。
2、存在單點(diǎn)故障。單機(jī)架構(gòu)擴(kuò)容的時(shí)候,往往需要停機(jī)擴(kuò)容,服務(wù)也隨之停止。另外,硬件故障容易導(dǎo)致整個(gè)服務(wù)不可用,甚至?xí)袛?shù)據(jù)丟失的情況。
3、隨著業(yè)務(wù)量的增加,單機(jī)勢(shì)必會(huì)遇到性能瓶頸。
接下來我們來看一下分組架構(gòu)里面的主備架構(gòu),實(shí)際上也是單機(jī)架構(gòu)自然而然衍生出來的架構(gòu),主要是為了解決單點(diǎn)故障問題。

數(shù)據(jù)庫(kù)部署在兩臺(tái)服務(wù)器,其中承擔(dān)數(shù)據(jù)讀寫服務(wù)的服務(wù)器,稱為“主機(jī)”。另外一臺(tái)服務(wù)器利用數(shù)據(jù)同步機(jī)制,把主機(jī)的 數(shù)據(jù)復(fù)制 過來,稱為“備機(jī)”,同一時(shí)刻,只有一臺(tái)服務(wù)器對(duì)外提供數(shù)據(jù)服務(wù)。這種架構(gòu)的優(yōu)點(diǎn)是應(yīng)用不需要為了應(yīng)對(duì)數(shù)據(jù)庫(kù)故障而增加開發(fā)量。另外相對(duì)單機(jī)架構(gòu)而言,提升了數(shù)據(jù)容錯(cuò)性。這種架構(gòu)的缺點(diǎn)是:
1、資源浪費(fèi),備機(jī)和主機(jī)同等配置,而基本上備機(jī)資源會(huì)處于閑置狀態(tài)。
2、性能壓力還是集中在單機(jī)上,無法解決性能瓶頸問題。
3、出現(xiàn)故障時(shí),主備機(jī)切換,需要一定的員工干預(yù)或者監(jiān)控。
主備架構(gòu)無法根本解決問題,那來看看主從式架構(gòu)。

部署模式和主備機(jī)模式相似,但備機(jī)上升為從機(jī)角色,也對(duì)外提供一定的數(shù)據(jù)服務(wù)。應(yīng)用程序可以通過讀寫分離方式分散壓力,優(yōu)點(diǎn)明顯,資源利用率提升,從機(jī)擴(kuò)展性靈活等,但缺點(diǎn)也同樣存在:
1、 數(shù)據(jù)延遲問題,數(shù)據(jù)同步到從機(jī)數(shù)據(jù)庫(kù)時(shí)會(huì)有延遲
2、 寫操作的性能壓力,還是集中在主機(jī)上
3、 可用性問題,主機(jī)出現(xiàn)故障,需要實(shí)現(xiàn)主從切換,人工干預(yù)需要響應(yīng)時(shí)間,自動(dòng)切換的實(shí)現(xiàn)復(fù)雜度較高
接下來我們看另外一種特殊的多主架構(gòu),數(shù)據(jù)庫(kù)之間互為主從,同時(shí)對(duì)外提供完整的數(shù)據(jù)服務(wù)。優(yōu)點(diǎn)在于提升資源利用率的同時(shí)降低了單點(diǎn)故障的風(fēng)險(xiǎn)。
缺點(diǎn)也同時(shí)存在:
1、 雙向復(fù)制同樣存在延時(shí)問題,極端情況下有可能數(shù)據(jù)丟失
2、 數(shù)據(jù)庫(kù)數(shù)量增加會(huì)導(dǎo)致數(shù)據(jù)同步極為復(fù)雜
接著再看看分片架構(gòu),其主要表現(xiàn)形式就是水平數(shù)據(jù)分片架構(gòu),優(yōu)點(diǎn)是數(shù)據(jù)分散在集群內(nèi)的各個(gè)節(jié)點(diǎn)上,所有節(jié)點(diǎn)可以獨(dú)立性工作。
總結(jié)起來:
介紹了這么多種模式,數(shù)據(jù)庫(kù)架構(gòu)仍在衍生,細(xì)化來講還有共享存儲(chǔ)多活架構(gòu)、分片架構(gòu)、無共享架構(gòu)、MPP架構(gòu)等等,大家想要了解更多,歡迎點(diǎn)擊《數(shù)據(jù)庫(kù)介紹》進(jìn)行學(xué)習(xí),全面掌握關(guān)系型數(shù)據(jù)庫(kù)架構(gòu)!
https://education.huaweicloud.com/courses/course-v1:HuaweiX+CBUCNXD011+Self-paced/about
- GaussDB架構(gòu)_GaussDB數(shù)據(jù)庫(kù)架構(gòu)_高斯數(shù)據(jù)庫(kù)架構(gòu)-華為云
- GaussDB入門_國(guó)產(chǎn)數(shù)據(jù)庫(kù)_高斯數(shù)據(jù)庫(kù)入門_華為云
- GaussDB學(xué)習(xí)_gaussdb數(shù)據(jù)庫(kù)_高斯數(shù)據(jù)庫(kù)學(xué)習(xí)_華為云
- GaussDB學(xué)習(xí)_gaussdb教程_高斯數(shù)據(jù)庫(kù)學(xué)習(xí)_華為云
- GaussDB TP_GaussDB和MySQL區(qū)別_高斯數(shù)據(jù)庫(kù)TP_華為云