一種利用共享在線日志實(shí)現(xiàn)異構(gòu)同平臺(tái)的數(shù)據(jù)庫集群搭建方法
【專利摘要】本發(fā)明提供一種利用共享在線日志實(shí)現(xiàn)異構(gòu)同平臺(tái)的數(shù)據(jù)庫集群搭建方法,通過對(duì)每個(gè)單節(jié)點(diǎn)數(shù)據(jù)庫的部署,并且把在線日志放于共享存儲(chǔ)上實(shí)現(xiàn)多個(gè)節(jié)點(diǎn)的集群搭建,在多節(jié)點(diǎn)集群工作的時(shí)候,數(shù)據(jù)庫會(huì)把數(shù)據(jù)的變化寫到在線日志中,通過對(duì)在線日志的共享,實(shí)現(xiàn)多個(gè)節(jié)點(diǎn)集群高效運(yùn)行,當(dāng)在線日志滿足一定條件之后,數(shù)據(jù)庫會(huì)自動(dòng)將已經(jīng)寫滿的在線日志轉(zhuǎn)存到歸檔日志中,并且集群通過對(duì)歸檔日志進(jìn)行同步,從而實(shí)現(xiàn)整個(gè)集群模式的高效、高性能的運(yùn)行,將數(shù)據(jù)庫的在線日志放于共享的高速存儲(chǔ)設(shè)備上以達(dá)到高速高效的數(shù)據(jù)庫集群模式,能夠快速實(shí)現(xiàn)集群環(huán)境的部署,也能實(shí)現(xiàn)集群環(huán)境的高效運(yùn)作。
【專利說明】—種利用共享在線日志實(shí)現(xiàn)異構(gòu)同平臺(tái)的數(shù)據(jù)庫集群搭建方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)應(yīng)用【技術(shù)領(lǐng)域】,具體地說是一種利用共享在線日志實(shí)現(xiàn)異構(gòu)同平臺(tái)的數(shù)據(jù)庫集群搭建方法。
【背景技術(shù)】
[0002]用來保存計(jì)算最終結(jié)果的數(shù)據(jù)庫是整個(gè)信息系統(tǒng)的重要組成部分,技術(shù)也相對(duì)成熟。然而,對(duì)于所有數(shù)據(jù)庫而言,除了記錄正確的處理結(jié)果之外,也面臨著一些挑戰(zhàn):如何提高處理速度,數(shù)據(jù)可用性、數(shù)據(jù)安全性和數(shù)據(jù)集可擴(kuò)性。將多個(gè)數(shù)據(jù)庫聯(lián)在一起組成數(shù)據(jù)庫集群來達(dá)到上述目標(biāo)應(yīng)該說是一個(gè)很自然的想法。
[0003]本文試圖對(duì)當(dāng)前主要的數(shù)據(jù)庫集群用到的具體技術(shù)和市場(chǎng)上的主流產(chǎn)品進(jìn)行分析并作點(diǎn)評(píng),從而為讀者提供一個(gè)數(shù)據(jù)庫集群的評(píng)價(jià)參考。
[0004]下面討論的數(shù)據(jù)庫集群技術(shù)分屬兩類體系:基于數(shù)據(jù)庫引擎的集群技術(shù)和基于數(shù)據(jù)庫網(wǎng)關(guān)(中間件)的集群技術(shù)。提高磁盤速度:主要思想是提高磁盤的并發(fā)度。盡管實(shí)現(xiàn)方法各不相同,但是它們最后的目的都是提供一個(gè)邏輯數(shù)據(jù)庫的存儲(chǔ)映象。
[0005]系統(tǒng)為了提高磁盤訪問速度,建立一個(gè)虛擬的涵蓋所有數(shù)據(jù)“大”數(shù)據(jù)庫,而不用去考慮數(shù)據(jù)的實(shí)際物理磁盤存放位置。分散數(shù)據(jù)的存放:利用多個(gè)物理服務(wù)器來存放數(shù)據(jù)集的不同部分,使得不同的服務(wù)器進(jìn)行并行計(jì)算成為可能。
[0006]ORACLE RAC是共享磁盤的體系結(jié)構(gòu),用戶只需簡單地增加一個(gè)服務(wù)器節(jié)點(diǎn),RAC就能自動(dòng)地將這節(jié)點(diǎn)加入到它的集群服務(wù)中去,RAC會(huì)自動(dòng)地將數(shù)據(jù)分配到這節(jié)點(diǎn)上,并且會(huì)將接下來的數(shù)據(jù)庫訪問自動(dòng)分布到合適的物理服務(wù)器上,而不用修改應(yīng)用程序;UDB是非共享磁盤的體系結(jié)構(gòu),需要手工修改數(shù)據(jù)分區(qū),MSCS和ASE也是同樣情況。ICX是一種基于中間件的數(shù)據(jù)庫集群技術(shù),對(duì)客戶端和數(shù)據(jù)庫服務(wù)器都是透明的??梢杂脕砑簬讉€(gè)數(shù)據(jù)庫集群。
[0007]系統(tǒng)通過化整為零的策略,將數(shù)據(jù)表格分散到多個(gè)服務(wù)器或者每個(gè)服務(wù)器分管幾個(gè)內(nèi)容不同的表格,這樣做的目的在于通過多服務(wù)器間并行運(yùn)算以提高訪問速度。
[0008]對(duì)稱多處理器系統(tǒng):
利用多處理機(jī)硬件技術(shù)來提高數(shù)據(jù)庫的處理速度。所有基于數(shù)據(jù)庫引擎的集群都支持這個(gè)技術(shù)。
[0009]將多CPU處理器進(jìn)行合理調(diào)度,來同時(shí)處理不同的訪問要求,但這種技術(shù)在數(shù)據(jù)庫上的應(yīng)用的實(shí)際收益是很有限的。
[0010]交易處理負(fù)載均衡:在保持?jǐn)?shù)據(jù)集內(nèi)容同步的前提下,將只讀操作分布到多個(gè)獨(dú)立的服務(wù)器上運(yùn)行。因?yàn)榻^大多數(shù)的數(shù)據(jù)庫操作是瀏覽和查詢,如果我們能擁有多個(gè)內(nèi)容同步的數(shù)據(jù)庫服務(wù)器,交易負(fù)載均衡就具有最大的潛力(可以遠(yuǎn)遠(yuǎn)大于上面敘述的最多達(dá)四個(gè)處理器的對(duì)稱多處理器系統(tǒng))來提高數(shù)據(jù)庫的處理速度,同時(shí)會(huì)具有非常高的數(shù)據(jù)可用性。[0011]所有基于數(shù)據(jù)庫引擎的集群系統(tǒng)都只支持一個(gè)邏輯數(shù)據(jù)庫映象和一個(gè)邏輯或物理的備份。這個(gè)備份的主要目的是預(yù)防數(shù)據(jù)災(zāi)難。因此,備份里的數(shù)據(jù)只能通過復(fù)制機(jī)制來更新,應(yīng)用程序是不能直接更新它的。利用備份數(shù)據(jù)進(jìn)行交易負(fù)載均衡只適用于一些非常有限的應(yīng)用,例如報(bào)表統(tǒng)計(jì)、數(shù)據(jù)挖掘以及其它非關(guān)鍵業(yè)務(wù)的應(yīng)用。
[0012]負(fù)載平衡算是一項(xiàng)“老”技術(shù)了。但將性能提高到最大也是集群設(shè)計(jì)所追求的終極目標(biāo)。傳統(tǒng)意義上,利用備份數(shù)據(jù)進(jìn)行交易負(fù)載均衡只適用于一些非常有限的應(yīng)用。
[0013]上述所有技術(shù)在實(shí)際部署系統(tǒng)的時(shí)候可以混合使用以達(dá)到最佳效果。
[0014]目前的數(shù)據(jù)庫集群模式主要是分為兩種:第一種是基于共享數(shù)據(jù)模式的實(shí)例冗余,例如oracle的RAC,第二種是基于共享日志模式的數(shù)據(jù)庫冗余,例如oracle的dataguard。這兩個(gè)方案有明顯的優(yōu)缺點(diǎn),RAC的缺點(diǎn)是:在系統(tǒng)規(guī)劃設(shè)計(jì)較差時(shí)性能甚至不如單節(jié)點(diǎn);可能會(huì)增加軟件成本(如果使用高配置的pc服務(wù)器,Oracle —般按照CPU個(gè)數(shù)收費(fèi))。Dataguard的缺點(diǎn)是:最大保護(hù)和最高可用模式,對(duì)于主數(shù)據(jù)庫系統(tǒng)資源占用很高;最大性能模式在災(zāi)難發(fā)生時(shí),有數(shù)據(jù)丟失;要求主數(shù)據(jù)庫和備用數(shù)據(jù)庫的操作系統(tǒng)和數(shù)據(jù)庫版本一致。
[0015]相對(duì)于前兩面的兩種數(shù)據(jù)庫集群方式做一個(gè)折中,將在線日志放于共享設(shè)備上既可以節(jié)約整個(gè)數(shù)據(jù)庫集群的成本,又可以保證整個(gè)數(shù)據(jù)庫集群的性能。
【發(fā)明內(nèi)容】
[0016]本發(fā)明的目的是提供一種利用共享在線日志實(shí)現(xiàn)異構(gòu)同平臺(tái)的數(shù)據(jù)庫集群搭建方法。
[0017]本發(fā)明的目的是按以下方式實(shí)現(xiàn)的,首先通過對(duì)每個(gè)單節(jié)點(diǎn)數(shù)據(jù)庫的部署,并且把在線日志放于共享存儲(chǔ)上,從而實(shí)現(xiàn)多個(gè)節(jié)點(diǎn)的集群搭建,在多節(jié)點(diǎn)集群工作的時(shí)候,數(shù)據(jù)庫會(huì)把數(shù)據(jù)的變化寫到在線日志中,通過對(duì)在線日志的共享,實(shí)現(xiàn)多個(gè)節(jié)點(diǎn)集群高效運(yùn)行,當(dāng)在線日志滿足一定條件之后,數(shù)據(jù)庫會(huì)自動(dòng)將已經(jīng)寫滿的在線日志轉(zhuǎn)存到歸檔日志中,并且集群通過對(duì)歸檔日志進(jìn)行同步,從而實(shí)現(xiàn)整個(gè)集群模式的高效、高性能的運(yùn)行,將數(shù)據(jù)庫的在線日志放于共享的高速存儲(chǔ)設(shè)備上以達(dá)到高速高效的數(shù)據(jù)庫集群模式,能夠快速實(shí)現(xiàn)集群環(huán)境的部署,也能實(shí)現(xiàn)集群環(huán)境的高效運(yùn)作,具體步驟如下:
主庫和備庫通過高速互連協(xié)議進(jìn)行通信,快速的同步歸檔日志,另外把在線日志放于共享的高速存儲(chǔ)上,以保證主庫和備庫同時(shí)對(duì)外提供服務(wù),既做到數(shù)據(jù)庫的高可用,也能做到數(shù)據(jù)庫的高性能和負(fù)載均衡,而以最小的代價(jià)來實(shí)現(xiàn)數(shù)據(jù)庫的集群。
[0018]本發(fā)明的有益效果是:由于信息化程度越來越高,數(shù)據(jù)庫系統(tǒng)越來越復(fù)雜,數(shù)據(jù)量越來越大,業(yè)務(wù)類型也越來越多樣化,如何實(shí)現(xiàn)數(shù)據(jù)庫集群最高性能的發(fā)揮越來越成為很多IT從業(yè)的難題。由于目前主流的數(shù)據(jù)庫集群解決方案有太多的限制條件,要求相同的數(shù)據(jù)庫類型,或者成本和管理等眾多條件限制,無法真正解決企業(yè)的數(shù)據(jù)庫集群需求。本方法從主流數(shù)據(jù)庫的成本和集群原理入手,利用了共享在線日志的思想,引入簡化的集群模式,確保異構(gòu)平臺(tái)下數(shù)據(jù)庫集群的高效運(yùn)行。
[0019]【專利附圖】
【附圖說明】
圖1是基于數(shù)據(jù)庫引擎的集群結(jié)構(gòu)示意圖;
圖2是基于數(shù)據(jù)庫網(wǎng)關(guān)(中間件)的集群結(jié)構(gòu)示意圖;圖3是異構(gòu)同平臺(tái)的數(shù)據(jù)庫集群搭建流程圖。
【具體實(shí)施方式】
[0020]參照說明書附圖對(duì)本發(fā)明的方法作以下詳細(xì)地說明。
[0021]首先通過對(duì)每個(gè)單節(jié)點(diǎn)數(shù)據(jù)庫的部署,并且把在線日志放于共享存儲(chǔ)上,從而實(shí)現(xiàn)多個(gè)節(jié)點(diǎn)的集群搭建,在多節(jié)點(diǎn)集群工作的時(shí)候,數(shù)據(jù)庫會(huì)把數(shù)據(jù)的變化寫到在線日志中,通過對(duì)在線日志的共享,實(shí)現(xiàn)多個(gè)節(jié)點(diǎn)集群高效運(yùn)行,當(dāng)在線日志滿足一定條件之后,數(shù)據(jù)庫會(huì)自動(dòng)將已經(jīng)寫滿的在線日志轉(zhuǎn)存到歸檔日志中,并且集群通過對(duì)歸檔日志進(jìn)行同步,從而實(shí)現(xiàn)整個(gè)集群模式的高效、高性能的運(yùn)行,將數(shù)據(jù)庫的在線日志放于共享的高速存儲(chǔ)設(shè)備上以達(dá)到高速高效的數(shù)據(jù)庫集群模式,能夠快速實(shí)現(xiàn)集群環(huán)境的部署,也能實(shí)現(xiàn)集群環(huán)境的高效運(yùn)作,具體步驟如下:
主庫和備庫通過高速互連協(xié)議進(jìn)行通信,快速的同步歸檔日志,另外把在線日志放于共享的高速存儲(chǔ)上,以保證主庫和備庫同時(shí)對(duì)外提供服務(wù),既做到數(shù)據(jù)庫的高可用,也能做到數(shù)據(jù)庫的高性能和負(fù)載均衡,而以最小的代價(jià)來實(shí)現(xiàn)數(shù)據(jù)庫的集群。
[0022]除說明書所述的技術(shù)特征外,均為本專業(yè)技術(shù)人員的已知技術(shù)。
【權(quán)利要求】
1.一種利用共享在線日志實(shí)現(xiàn)異構(gòu)同平臺(tái)的數(shù)據(jù)庫集群搭建方法,其特征在于通過對(duì)每個(gè)單節(jié)點(diǎn)數(shù)據(jù)庫的部署,并且把在線日志放于共享存儲(chǔ)上實(shí)現(xiàn)多個(gè)節(jié)點(diǎn)的集群搭建,在多節(jié)點(diǎn)集群工作的時(shí)候,數(shù)據(jù)庫會(huì)把數(shù)據(jù)的變化寫到在線日志中,通過對(duì)在線日志的共享,實(shí)現(xiàn)多個(gè)節(jié)點(diǎn)集群高效運(yùn)行,當(dāng)在線日志滿足一定條件之后,數(shù)據(jù)庫會(huì)自動(dòng)將已經(jīng)寫滿的在線日志轉(zhuǎn)存到歸檔日志中,并且集群通過對(duì)歸檔日志進(jìn)行同步,從而實(shí)現(xiàn)整個(gè)集群模式的高效、高性能的運(yùn)行,將數(shù)據(jù)庫的在線日志放于共享的高速存儲(chǔ)設(shè)備上以達(dá)到高速高效的數(shù)據(jù)庫集群模式,能夠快速實(shí)現(xiàn)集群環(huán)境的部署,也能實(shí)現(xiàn)集群環(huán)境的高效運(yùn)作,具體步驟如下:主庫和備庫通過高速互連協(xié)議進(jìn)行通信,快速的同步歸檔日志,另外把在線日志放于共享的高速存儲(chǔ)上,以保證主庫和備庫同時(shí)對(duì)外提供服務(wù),既做到數(shù)據(jù)庫的高可用,也能做到數(shù)據(jù)庫的高性能和負(fù)載均衡,而以最小的代價(jià)來實(shí)現(xiàn)數(shù)據(jù)庫的集群。
【文檔編號(hào)】G06F17/30GK103593420SQ201310530906
【公開日】2014年2月19日 申請(qǐng)日期:2013年11月1日 優(yōu)先權(quán)日:2013年11月1日
【發(fā)明者】徐國強(qiáng), 喬鑫 申請(qǐng)人:浪潮電子信息產(chǎn)業(yè)股份有限公司