日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
數(shù)據(jù)庫集群同步技術(shù)原理簡析(數(shù)據(jù)庫集群同步)

隨著互聯(lián)網(wǎng)應(yīng)用的不斷發(fā)展,數(shù)據(jù)庫的重要性也越來越凸顯。當(dāng)互聯(lián)網(wǎng)應(yīng)用流量增長到一定程度時(shí),單臺(tái)數(shù)據(jù)庫無法承受如此大的負(fù)荷。這時(shí)候,我們需要數(shù)據(jù)庫集群來進(jìn)行數(shù)據(jù)存儲(chǔ)和負(fù)載均衡。但是,集群模式下,不同節(jié)點(diǎn)之間必須實(shí)現(xiàn)數(shù)據(jù)同步,保證數(shù)據(jù)的正確性和一致性。本文將對(duì)數(shù)據(jù)庫集群同步技術(shù)的原理進(jìn)行簡述。

一、數(shù)據(jù)庫集群同步技術(shù)的作用

在數(shù)據(jù)庫集群中,如果只是簡單的將數(shù)據(jù)存儲(chǔ)到不同節(jié)點(diǎn),那么會(huì)出現(xiàn)數(shù)據(jù)不一致的情況。比如說,用戶在一臺(tái)節(jié)點(diǎn)進(jìn)行了修改,但是該節(jié)點(diǎn)并沒有同步到其他節(jié)點(diǎn),這時(shí)候如果其他節(jié)點(diǎn)繼續(xù)對(duì)該數(shù)據(jù)進(jìn)行修改,那么就會(huì)出現(xiàn)數(shù)據(jù)不一致的問題。因此,為了維護(hù)及時(shí)、準(zhǔn)確的數(shù)據(jù),必須要實(shí)現(xiàn)數(shù)據(jù)庫的同步。

二、數(shù)據(jù)庫集群同步技術(shù)的目標(biāo)

數(shù)據(jù)庫集群同步技術(shù)的目標(biāo)是保證在不同的節(jié)點(diǎn)上數(shù)據(jù)具有一致性和正確性。在這個(gè)基礎(chǔ)上,需要滿足以下幾個(gè)要求:

1. 數(shù)據(jù)庫的數(shù)據(jù)應(yīng)該能夠通過網(wǎng)絡(luò)進(jìn)行傳輸和同步;

2. 當(dāng)數(shù)據(jù)庫中的數(shù)據(jù)在不同節(jié)點(diǎn)的主機(jī)上進(jìn)行修改時(shí),需要通知其他節(jié)點(diǎn),讓其也能及時(shí)和正確地同步該數(shù)據(jù);

3. 數(shù)據(jù)庫同步過程中不能影響當(dāng)前系統(tǒng)的正常運(yùn)行,應(yīng)該保證集群在同步的同時(shí),能夠應(yīng)用程序不受影響地處理其他請(qǐng)求;

4. 當(dāng)出現(xiàn)網(wǎng)絡(luò)分區(qū)現(xiàn)象時(shí),需要通過相應(yīng)的機(jī)制避免“分片”現(xiàn)象對(duì)數(shù)據(jù)的影響,保證集群的一致性。

三、數(shù)據(jù)庫集群同步技術(shù)的實(shí)現(xiàn)原理

1. 基于主從模式同步

主從模式是最基本的一種數(shù)據(jù)庫集群模式。在這種模式下,有一個(gè)主節(jié)點(diǎn)和若干個(gè)子節(jié)點(diǎn)(從節(jié)點(diǎn))。所有的寫入操作都在主節(jié)點(diǎn)上執(zhí)行,從節(jié)點(diǎn)則只能執(zhí)行讀操作。主節(jié)點(diǎn)上的數(shù)據(jù)發(fā)生修改后,就向所有被動(dòng)從節(jié)點(diǎn)發(fā)送數(shù)據(jù)變更信息,從節(jié)點(diǎn)接收到數(shù)據(jù)變更信息后,再主動(dòng)與主節(jié)點(diǎn)進(jìn)行重新交互,將修改后的數(shù)據(jù)進(jìn)行同步。

該模式的優(yōu)點(diǎn)是簡單易懂,缺點(diǎn)則是存在單點(diǎn)故障風(fēng)險(xiǎn)和容災(zāi)能力差。

2. 基于主主模式同步

在主主模式下,不同節(jié)點(diǎn)之間同時(shí)擁有寫操作和讀操作的功能,寫入的數(shù)據(jù)可以在不同節(jié)點(diǎn)之間進(jìn)行復(fù)制和同步。也就是說,不同節(jié)點(diǎn)之間的數(shù)據(jù)都應(yīng)該是完全相同的。在該模式下需要解決數(shù)據(jù)沖突、鎖競(jìng)爭等問題。

主主模式在實(shí)現(xiàn)過程中,需要考慮到許多復(fù)雜情況的處理,比如在主主模式下,兩臺(tái)機(jī)器在不同時(shí)間段對(duì)同一條記錄進(jìn)行修改時(shí),就需要考慮數(shù)據(jù)同步的問題。同時(shí),數(shù)據(jù)的沖突、鎖競(jìng)爭等問題都需要引入解決機(jī)制,這大大增加了系統(tǒng)的復(fù)雜度。

3. 基于復(fù)制日志同步

復(fù)制日志同步是現(xiàn)在主流的數(shù)據(jù)庫集群同步技術(shù)之一。在這種技術(shù)下,主節(jié)點(diǎn)會(huì)記錄每次的數(shù)據(jù)變更情況,同時(shí)向所有從節(jié)點(diǎn)發(fā)送數(shù)據(jù)變更日志。從節(jié)點(diǎn)接收到新的數(shù)據(jù)變更信息后,就向主節(jié)點(diǎn)請(qǐng)求數(shù)據(jù)變更日志,進(jìn)行數(shù)據(jù)同步。

復(fù)制日志同步的優(yōu)點(diǎn)在于,具有較高的性能和容災(zāi)能力,且節(jié)點(diǎn)之間的數(shù)據(jù)一定是一致的。其缺點(diǎn)在于實(shí)現(xiàn)較為復(fù)雜,需要考慮很多實(shí)現(xiàn)細(xì)節(jié)。

4. 基于Voting同步

基于Voting的同步方式是一種基于指數(shù)級(jí)管道的系統(tǒng)。在該同步方式下,每個(gè)節(jié)點(diǎn)同時(shí)維護(hù)一個(gè)日志列表,并在每個(gè)磁盤上記錄一個(gè)計(jì)數(shù)器;當(dāng)數(shù)據(jù)變更時(shí),主節(jié)點(diǎn)的計(jì)數(shù)器會(huì)加1,并將日志發(fā)送給其他節(jié)點(diǎn),這些節(jié)點(diǎn)的計(jì)數(shù)器也都會(huì)遞增。與主節(jié)點(diǎn)的計(jì)數(shù)器和日志項(xiàng)完全匹配后,才會(huì)被同步到其他節(jié)點(diǎn)。

Voting同步的優(yōu)點(diǎn)在于不會(huì)發(fā)生網(wǎng)絡(luò)分區(qū),并能自適應(yīng)地選擇合適的同步節(jié)點(diǎn)。其缺點(diǎn)在于需要高效的分布式協(xié)議,并且執(zhí)行效率較低。

四、結(jié)論

隨著數(shù)據(jù)庫技術(shù)的不斷發(fā)展,數(shù)據(jù)庫集群同步技術(shù)也在不斷完善。對(duì)于不同的使用場(chǎng)景,需要選擇適合的技術(shù)方案,以保持集群的高可靠性和高性能。在選擇合適的技術(shù)方案上,需要考慮到數(shù)據(jù)一致性、容錯(cuò)性、系統(tǒng)可擴(kuò)展性等因素,才能夠有助于提升我們的數(shù)據(jù)庫集群架構(gòu)的效率和可靠性。

相關(guān)問題拓展閱讀:

  • 數(shù)據(jù)庫集群的性質(zhì)

數(shù)據(jù)庫集群的性質(zhì)

一.與分布式數(shù)據(jù)庫系統(tǒng)的區(qū)別 數(shù)據(jù)庫集群有的具有單份數(shù)據(jù)集,有的具有兩份或槐談多份相似的數(shù)據(jù)集,有的具有兩份或多份實(shí)時(shí)一致的數(shù)據(jù)集;而分布式數(shù)據(jù)庫系統(tǒng)往往具有完全不同的數(shù)據(jù)集。 數(shù)據(jù)庫集群往往是同構(gòu)的系統(tǒng),要求集群各節(jié)點(diǎn)都具有相同的操作系統(tǒng)和數(shù)據(jù)庫系統(tǒng)版本,甚至補(bǔ)丁包的版本也要求保持一致;而分布式數(shù)據(jù)庫系統(tǒng)可以是異構(gòu)系統(tǒng),包含不同的操作系統(tǒng)和不同的數(shù)據(jù)庫系統(tǒng)。 數(shù)據(jù)庫集群往往建立在高速局域網(wǎng)內(nèi);而分布式數(shù)據(jù)庫系統(tǒng)既可以是高速局域網(wǎng),也可以是跨部門、跨單位的異地遠(yuǎn)程網(wǎng)絡(luò)。 二.數(shù)據(jù)庫集群的技術(shù)指標(biāo)

由于數(shù)據(jù)庫系統(tǒng)是任何一個(gè)信息系統(tǒng)的核心,因此除了業(yè)務(wù)邏輯之外,用戶還關(guān)心下面三點(diǎn):

1. 系統(tǒng)性能

性能問題涉及硬件、軟件、網(wǎng)絡(luò)、應(yīng)用設(shè)計(jì)架構(gòu)、代碼質(zhì)量等多方面。但是數(shù)據(jù)庫集群如果能提供負(fù)載均衡能力和自動(dòng)優(yōu)化能力,則是對(duì)整個(gè)系統(tǒng)性能具有莫大的好處。

2. 數(shù)據(jù)可靠性

在系統(tǒng)發(fā)生任意故障(包括操作系統(tǒng)、數(shù)據(jù)庫引擎、硬盤或磁盤陣列或存儲(chǔ)網(wǎng)絡(luò)等故障)條件下數(shù)據(jù)丟失的可能性。有的系統(tǒng)從設(shè)計(jì)原理上注定了必然會(huì)存在理論上的數(shù)據(jù)丟失可能性,而有的系統(tǒng)因?yàn)槿哂嘣O(shè)計(jì)原理,可以保證理論上的數(shù)據(jù)零丟失。鉛改碰用容災(zāi)領(lǐng)域的術(shù)語來講,這類似于RPO(Recovery Point Objective),但是不完全等同于RPO。

3. 服務(wù)可用性

在系殲則統(tǒng)發(fā)生任意故障(包括操作系統(tǒng)、數(shù)據(jù)庫引擎、硬盤或磁盤陣列或存儲(chǔ)網(wǎng)絡(luò)等故障)條件下整個(gè)系統(tǒng)停止對(duì)外提供數(shù)據(jù)服務(wù)的可能性。與上面的數(shù)據(jù)庫可靠性緊密關(guān)聯(lián),如果一個(gè)系統(tǒng)從理論上存在數(shù)據(jù)丟失的可能性,那么這樣的系統(tǒng)必然會(huì)導(dǎo)致整個(gè)系統(tǒng)的服務(wù)停止。同樣地,用容災(zāi)領(lǐng)域的術(shù)語來講,這類似于RTO(Recovery Time Objective),但是也同樣不能完全等同于RTO。

三.數(shù)據(jù)庫集群的分類

在市場(chǎng)上,數(shù)據(jù)庫集群是一個(gè)籠統(tǒng)的名詞,沒有一個(gè)權(quán)威的定義,各市場(chǎng)參與者往往是各取所需,推出各種特色的數(shù)據(jù)庫集群解決方案。一般地具有下列四種集群方案:

1.基于串行數(shù)據(jù)復(fù)制技術(shù)

串行復(fù)制技術(shù),本來是用于數(shù)據(jù)傳送和數(shù)據(jù)備份的,離人們熟悉的“數(shù)據(jù)庫集群”的概念有一定的距離。但是由于計(jì)算機(jī)軟硬件技術(shù)和網(wǎng)絡(luò)通訊技術(shù)的快速發(fā)展,使得利用這種概念和技術(shù)構(gòu)成的“數(shù)據(jù)庫集群”有了一定的可行性。此類集群,又可以分兩類:

a.串行異步復(fù)制

此種方式是數(shù)據(jù)的異步串行復(fù)制。主要采用數(shù)據(jù)庫事務(wù)日志傳送或者硬盤數(shù)據(jù)塊傳送技術(shù)來實(shí)現(xiàn),SQL Server自帶的復(fù)制、鏡像和SQL2023新出的AlwaysON(備機(jī)可讀)以及第三的一些鏡像Mirror技術(shù)都是屬于此類產(chǎn)品,此類技術(shù)和產(chǎn)品本質(zhì)上就是數(shù)據(jù)備份技術(shù)和產(chǎn)品。下列以事務(wù)日志傳送(Log Shipping)為例來說明。主數(shù)據(jù)庫完成事務(wù)處理后,生成事務(wù)處理日志,日志記錄通過FIFO隊(duì)列,進(jìn)入備份數(shù)據(jù)庫處理,從而得到備份數(shù)據(jù)。此種方式的缺陷在于:

a) 主數(shù)據(jù)庫并行處理事務(wù)而日志拷貝是串行的,而備份數(shù)據(jù)庫處理日志記錄也是串行的。因此,F(xiàn)IFO隊(duì)列的溢出隨時(shí)可能發(fā)生。一旦發(fā)生,隊(duì)列必須重建,從而需要重新建立備份數(shù)據(jù)庫。此種方法對(duì)于一般客戶來講是不可行的。

b) 由于日志拷貝是異步的,主備數(shù)據(jù)庫不是實(shí)時(shí)一致,兩者之間存在“時(shí)間差”,因此如果用備份數(shù)據(jù)庫作負(fù)荷均衡,這樣的應(yīng)用存在邏輯上的漏洞,可能會(huì)發(fā)生數(shù)據(jù)錯(cuò)亂。

c) 由于主備數(shù)據(jù)存在時(shí)間差, 主數(shù)據(jù)庫一旦發(fā)生事故,理論上一定會(huì)丟失數(shù)據(jù)。在這種情況下,要么需要手工恢復(fù)數(shù)據(jù)庫,這會(huì)消耗大量的人工成本,或者數(shù)據(jù)根本就不能恢復(fù)。

d) 對(duì)主機(jī)的性能影響,根據(jù)測(cè)試一般在15%到25%之間。

b.串行同步復(fù)制

此類集群往往是由昂貴的專用軟硬件構(gòu)成的,原理圖如下:

此類系統(tǒng)采用專用的高速網(wǎng)絡(luò)和軟件技術(shù),將每個(gè)數(shù)據(jù)庫的請(qǐng)求,通過同步復(fù)制的方式,同步在主備兩臺(tái)數(shù)據(jù)庫服務(wù)器上執(zhí)行正確后,才將結(jié)果返回給數(shù)據(jù)庫客戶。此系統(tǒng)的特點(diǎn)是:

a) 主數(shù)據(jù)庫被強(qiáng)迫與備份數(shù)據(jù)庫同步串行處理,因此性能受到限制。

b) 主備數(shù)據(jù)庫中任意一個(gè)出現(xiàn)問題,都會(huì)迫使事務(wù)處理交易回滾,因此整個(gè)系統(tǒng)的可靠性比單機(jī)系統(tǒng)降低了一半。

c) 由于以上問題,這種備份方式只適用于近距離光纖網(wǎng)絡(luò)(5英里)。

d) 專用系統(tǒng)造價(jià)昂貴,又加上述明顯缺陷,因此市場(chǎng)上很少被采用。

2.基于共享存儲(chǔ)的雙機(jī)容錯(cuò)技術(shù)

從技術(shù)適應(yīng)性的角度講,雙機(jī)容錯(cuò)比較適合于無狀態(tài)應(yīng)用,或者狀態(tài)信息較少的應(yīng)用切換,以此達(dá)到應(yīng)用級(jí)的高可用性目的,其實(shí)并不適合于數(shù)據(jù)庫級(jí)的應(yīng)用切換。

此種結(jié)構(gòu)往往是兩個(gè)服務(wù)器共享一個(gè)磁盤陣列,這里兩個(gè)服務(wù)器共享一個(gè)虛擬的IP供數(shù)據(jù)庫客戶使用,形成一個(gè)單一的邏輯數(shù)據(jù)庫映象。此種所謂的數(shù)據(jù)庫集群的目的是,一旦主機(jī)系統(tǒng)出現(xiàn)問題,備份系統(tǒng)通過心跳機(jī)制的檢測(cè),完成從主機(jī)系統(tǒng)到備份系統(tǒng)的切換。這種方案在市場(chǎng)上被稱為“雙機(jī)集群”或者“雙機(jī)熱備”,簡稱參見“雙機(jī)”,但微軟稱之為“故障轉(zhuǎn)移集群”。它有下列特點(diǎn):

a. 此種高可用性解決方案只是無狀態(tài)系統(tǒng)(典型的如Web服務(wù)器)的普通容錯(cuò)切換思想在數(shù)據(jù)庫領(lǐng)域的應(yīng)用。

b. 此系統(tǒng)本身只有一個(gè)單一的數(shù)據(jù)映象,數(shù)據(jù)儲(chǔ)存在共享的磁盤陣?yán)希虼斯蚕淼拇疟P陣列成為了整個(gè)系統(tǒng)的單點(diǎn)錯(cuò)誤源。

c. 由于是單一數(shù)據(jù)映象,因此必須采用通常的復(fù)制或備份方法獲取第二份數(shù)據(jù),以保證數(shù)據(jù)的安全性。因此所有復(fù)制或備份方法的缺點(diǎn),此類系統(tǒng)全部存在。

d. 主機(jī)系統(tǒng)和備份系統(tǒng)之間是沒有任何負(fù)載均衡關(guān)系的,在正常情況下,備份系統(tǒng)是閑置在那里,因此對(duì)用戶來說是一種投資浪費(fèi)。

e. 在錯(cuò)誤切換的時(shí)候,往往存在切換時(shí)間長,而且更嚴(yán)重的是可能會(huì)存在丟失用戶交易數(shù)據(jù)丟失的現(xiàn)象,結(jié)果導(dǎo)致系統(tǒng)被迫停止服務(wù),或者需要人工修復(fù)數(shù)據(jù),或者數(shù)據(jù)永遠(yuǎn)找不回來。

3.以O(shè)racle RAC為代表的系統(tǒng)

RAC的英文全稱是:Real Application Cluster(真正的應(yīng)用級(jí)集群)。我們需要關(guān)注的是“應(yīng)用級(jí)”。為了緩解數(shù)據(jù)庫系統(tǒng)日益增長的性能壓力,Oracle公司推出了RAC系統(tǒng)。它基本結(jié)構(gòu)如下:

此類系統(tǒng),專門是針對(duì)數(shù)據(jù)庫性能問題而提出的。采用共享磁盤陣列的方式,因此在結(jié)構(gòu)上和上述雙機(jī)容錯(cuò)相似,不同的地方在于此系統(tǒng)中的數(shù)據(jù)庫節(jié)點(diǎn)之間采用的不是簡單的心跳檢測(cè),而是Oracle公司自己定義的一套復(fù)雜的信息交換協(xié)議,以此來動(dòng)態(tài)分配來自數(shù)據(jù)庫客戶端的請(qǐng)求。它的特點(diǎn)是:

a. 是個(gè)應(yīng)用級(jí)的集群,也就是針對(duì)Oracle的數(shù)據(jù)庫管理系統(tǒng)(因?yàn)閿?shù)據(jù)庫管理系統(tǒng)對(duì)于操作系統(tǒng)來講,就是一個(gè)“應(yīng)用程序”,因此被稱為“應(yīng)用級(jí)集群”),專門為提高數(shù)據(jù)庫性能而設(shè)計(jì)。

b. 此系統(tǒng)本身只有一個(gè)單一的數(shù)據(jù)映象,數(shù)據(jù)儲(chǔ)存在共享的磁盤陣?yán)?,因此享的磁盤陣?yán)蔀榱苏麄€(gè)系統(tǒng)的單點(diǎn)錯(cuò)誤源。

c. 管理配置復(fù)雜。

d. 由于是單一數(shù)據(jù)映象,因此必須采用通常的復(fù)制或備份方法獲取第二份數(shù)據(jù),以保證數(shù)據(jù)的安全性。因此所有復(fù)制或備份方法的缺點(diǎn),此類系統(tǒng)全部存在。

e. 由于數(shù)據(jù)庫系統(tǒng)本身具有高I/O的特性,因此,RAC系統(tǒng)里,磁盤I/O是提高性能的關(guān)鍵地方。

f. 依據(jù)不同的數(shù)據(jù)庫應(yīng)用,有的性能有所提升,有的性能可能會(huì)反而下降。

數(shù)據(jù)庫集群 同步的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于數(shù)據(jù)庫集群 同步,數(shù)據(jù)庫集群同步技術(shù)原理簡析,數(shù)據(jù)庫集群的性質(zhì)的信息別忘了在本站進(jìn)行查找喔。

創(chuàng)新互聯(lián)服務(wù)器托管擁有成都T3+級(jí)標(biāo)準(zhǔn)機(jī)房資源,具備完善的安防設(shè)施、三線及BGP網(wǎng)絡(luò)接入帶寬達(dá)10T,機(jī)柜接入千兆交換機(jī),能夠有效保證服務(wù)器托管業(yè)務(wù)安全、可靠、穩(wěn)定、高效運(yùn)行;創(chuàng)新互聯(lián)專注于成都服務(wù)器托管租用十余年,得到成都等地區(qū)行業(yè)客戶的一致認(rèn)可。


網(wǎng)站名稱:數(shù)據(jù)庫集群同步技術(shù)原理簡析(數(shù)據(jù)庫集群同步)
標(biāo)題URL:http://www.dlmjj.cn/article/dhssecg.html