數(shù)據(jù)庫高可用架構(gòu)的優(yōu)缺點有哪些

本篇內(nèi)容主要講解“數(shù)據(jù)庫高可用架構(gòu)的優(yōu)缺點有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“數(shù)據(jù)庫高可用架構(gòu)的優(yōu)缺點有哪些”吧!

丹江口網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、自適應(yīng)網(wǎng)站建設(shè)等網(wǎng)站項目制作,到程序開發(fā),運營維護(hù)。創(chuàng)新互聯(lián)成立于2013年到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)

主備架構(gòu)

1. 基本架構(gòu)拓?fù)鋱D如下

數(shù)據(jù)庫高可用架構(gòu)的優(yōu)缺點有哪些

整體架構(gòu)簡單,幾乎所有的數(shù)據(jù)庫都提供了主備復(fù)制的功能,例如MySQL、Oracle、MongoDB等。在這種架構(gòu)中備庫主要承擔(dān)數(shù)據(jù)備份的作用,不參與實際業(yè)務(wù)讀寫操作,如果把備機(jī)改成主機(jī)需要人工操作。

2. 優(yōu)缺點分析

  • 對于客戶端來說,不需要感知備機(jī)的存在,即使災(zāi)難恢復(fù)后,原來的備機(jī)被人工干預(yù)修改為主機(jī),客戶端只需要簡單修改連接地址即可,應(yīng)用架構(gòu)不需要做任何改動;

  • 主機(jī)和備機(jī)只需要進(jìn)行數(shù)據(jù)復(fù)制,不需要進(jìn)行狀態(tài)判斷和主備切換這類復(fù)雜操作。

這種架構(gòu)的缺點也比較明顯:

  • 備機(jī)主要是用于數(shù)據(jù)備份,如果應(yīng)用架構(gòu)沒有讀寫分離設(shè)計時會造成成本浪費

  • 故障后需要人工干預(yù),無法自動恢復(fù),而人工處理效率又比較低,恢復(fù)過程也容易出錯。

主從架構(gòu)

主從架構(gòu)與主備架構(gòu)只有一字之差,但是對于實際應(yīng)用架構(gòu)差距卻很大。在主備架構(gòu)中備庫不參與業(yè)務(wù)操作,而在主從架構(gòu)中從庫是需要參與業(yè)務(wù)操作的,應(yīng)用架構(gòu)需要做讀寫分離,將寫操作寫入主庫,而讀操作從從庫讀。

1. 主從基本架構(gòu)拓?fù)鋱D如下

數(shù)據(jù)庫高可用架構(gòu)的優(yōu)缺點有哪些

2.優(yōu)缺點分析

相比于主備架構(gòu),它有如下優(yōu)點:

  • 在主庫故障時,讀操作相關(guān)業(yè)務(wù)可以繼續(xù)運行

  • 從庫對外提供讀能力,發(fā)揮了硬件的性能

  • 可以為不同的角色提供不同的從庫

缺點:

  • 主從架構(gòu)中從庫需要提供讀業(yè)務(wù),如果主從復(fù)制延遲大,數(shù)據(jù)會出現(xiàn)不一致情況;

  • 應(yīng)用架構(gòu)需要做修改,一般會加入讀寫分離,復(fù)雜度比主備高;

  • 故障后需要人工干預(yù),無法自動恢復(fù),而人工處理效率又比較低,恢復(fù)過程也容易出錯。

主從切換

上面兩種架構(gòu)都存在兩個共同問題:

  • 主庫故障后,無法進(jìn)行寫操作

  • 主庫出了問題后需要人工干預(yù)才能將從庫切換到主庫,而人工切換又可能出現(xiàn)不及時或者切換故障的問題。

基于以上兩個問題我們需要一個能自動切換的架構(gòu),當(dāng)主庫出了故障后能自動將從庫切換成主庫,無需運維人員干預(yù)。

要實現(xiàn)主從切換架構(gòu)必須要考慮一個關(guān)鍵點:必須要有一個機(jī)制能監(jiān)測到數(shù)據(jù)庫節(jié)點的運行狀態(tài),以此來決定是否切換。

這種架構(gòu)我們一般會引入一個第三方中介,數(shù)據(jù)庫節(jié)點定時向第三方中介匯報自己的狀態(tài)信息;或者第三方中介定時去數(shù)據(jù)庫節(jié)點拉取數(shù)據(jù)庫狀態(tài);

數(shù)據(jù)庫高可用架構(gòu)的優(yōu)缺點有哪些

優(yōu)點:

  • 解決了人工干預(yù)的問題,大大減少了故障時間,一定程度上保護(hù)了運維人員的人生安全 缺點:

  • 架構(gòu)復(fù)雜,引入了第三方中介后又需要保證第三方中介的高可用。

這里推薦大家了解一下mysql的 MHA 架構(gòu),或者使用ZK、Keepalived自己搭建主從切換架構(gòu)。

主主架構(gòu)

主主架構(gòu)又叫主主復(fù)制,兩臺數(shù)據(jù)庫都是主庫,互相將數(shù)據(jù)復(fù)制給對方,客戶端可以挑選任意一臺數(shù)據(jù)庫進(jìn)行讀寫操作。

數(shù)據(jù)庫高可用架構(gòu)的優(yōu)缺點有哪些

相比于主從切換,主主架構(gòu)有如下優(yōu)點:

  • 兩臺數(shù)據(jù)庫都是主庫,不存在切換的概念

  • 客戶端無需區(qū)分不同角色的主機(jī),隨便將讀寫操作發(fā)給哪臺數(shù)據(jù)庫。

  • 架構(gòu)簡單

但是允許向兩臺主數(shù)據(jù)庫寫入是一件很危險的事:

  • AB兩臺數(shù)據(jù)庫采用自增長主鍵,A庫插入用戶后id是1,B庫插入用戶后id也是1,數(shù)據(jù)沖突

  •  

  • tb update tb set col = col +1 update tb set col = col * 2

到此,相信大家對“數(shù)據(jù)庫高可用架構(gòu)的優(yōu)缺點有哪些”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

網(wǎng)頁題目:數(shù)據(jù)庫高可用架構(gòu)的優(yōu)缺點有哪些
網(wǎng)站鏈接:http://muchs.cn/article36/pipisg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、企業(yè)建站網(wǎng)站內(nèi)鏈、面包屑導(dǎo)航外貿(mào)建站、品牌網(wǎng)站設(shè)計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)