李曉輝
(承德石油高等??茖W(xué)校計(jì)算機(jī)與信息工程系,河北承德 067000)
各IT部門為了保證生產(chǎn)、教學(xué)等日常行為正常運(yùn)轉(zhuǎn),一般要求產(chǎn)生數(shù)據(jù)的系統(tǒng)必須以實(shí)時(shí)方式傳輸數(shù)據(jù),但在實(shí)時(shí)共享數(shù)據(jù)的同時(shí)要求信息數(shù)據(jù)的準(zhǔn)確性高,這就需要在選用實(shí)時(shí)性、同步性性能高的數(shù)據(jù)庫。
本文中所介紹的OracleGoldengate系統(tǒng)就能滿足要求實(shí)時(shí)同步系統(tǒng)開發(fā),系統(tǒng)滿足支持核心業(yè)務(wù)生產(chǎn)的同時(shí),還能夠建立備份庫,保證生產(chǎn)系統(tǒng)順暢運(yùn)轉(zhuǎn)的同時(shí)滿足大并發(fā)量海量數(shù)據(jù)的查詢需求。在數(shù)據(jù)庫應(yīng)用過程中可以將產(chǎn)生的實(shí)時(shí)的、數(shù)據(jù)日志的更新提供給目的端,以實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)共享能力,另外對(duì)于核心業(yè)務(wù)采的N+1容錯(cuò)技術(shù),盡量減少或消除停機(jī)帶來的災(zāi)難;再次為使數(shù)據(jù)應(yīng)用有可擴(kuò)展性,可以實(shí)現(xiàn)一對(duì)多,多對(duì)一的數(shù)據(jù)復(fù)制[1-2];最后支持異構(gòu)數(shù)據(jù)庫環(huán)境下的數(shù)據(jù)復(fù)制。
GoldenGate軟件是一種基于日志的結(jié)構(gòu)化數(shù)據(jù)復(fù)制軟件,它通過解析源數(shù)據(jù)庫在線日志(Online Redo Log)或歸檔日志(Archive Log)獲得數(shù)據(jù)的增刪改變化,并實(shí)現(xiàn)過濾,并將相關(guān)信息轉(zhuǎn)換為GoldenGate TDM自定義的中間格式存放在隊(duì)列文件中,使用隊(duì)列文件暫時(shí)存儲(chǔ)數(shù)據(jù)變化;數(shù)據(jù)經(jīng)過壓縮和加密傳送到目的地;發(fā)送數(shù)據(jù),執(zhí)行所需的數(shù)據(jù)變化,然后將數(shù)據(jù)的變化提交到目的數(shù)據(jù)庫。與此同時(shí)目的數(shù)據(jù)庫通過捕捉到的數(shù)據(jù)變化文件通過數(shù)據(jù)壓縮和加密傳送回源數(shù)據(jù)庫。在源數(shù)據(jù)庫與目標(biāo)數(shù)據(jù)庫之間實(shí)現(xiàn)大量數(shù)據(jù)亞秒一級(jí)的實(shí)時(shí)復(fù)制。工作原理如圖1所示。
Oracle Goldengate在數(shù)據(jù)同步備份的優(yōu)勢(shì)有如下四點(diǎn)[3]:
1)保證實(shí)時(shí)數(shù)據(jù)傳輸
體育彩票銷售過程中對(duì)數(shù)據(jù)的實(shí)時(shí)性要求特別高,任何臨時(shí)停機(jī)都會(huì)對(duì)銷售數(shù)據(jù)帶來巨大的災(zāi)難。GoldenGate TDM是一種基于軟件的數(shù)據(jù)復(fù)制方式,它從數(shù)據(jù)庫的日志解析數(shù)據(jù)的變化(數(shù)據(jù)量只有日志的四分之一左右)。并將日志轉(zhuǎn)換為TDM格式直接通過網(wǎng)絡(luò)的TCP/IP協(xié)議傳輸,這一過程大大提高了數(shù)據(jù)的壓縮率(9∶1),降低了對(duì)網(wǎng)絡(luò)寬帶的要求,在目的數(shù)據(jù)庫GoldengateTDM采用重組及分批加載數(shù)據(jù)的方法提高數(shù)據(jù)的下載速度,從而實(shí)現(xiàn)秒級(jí)的數(shù)據(jù)傳輸、復(fù)制過程。
2)靈活的拓?fù)浣Y(jié)構(gòu)
體彩銷售中心要求保證在各種災(zāi)難發(fā)生時(shí)數(shù)據(jù)的完整性,Oracle Goldengate提供了靈活、先進(jìn)的數(shù)據(jù)拓?fù)浣Y(jié)構(gòu),不同的拓?fù)浣Y(jié)構(gòu)有不同的應(yīng)用場(chǎng)景,單向復(fù)制結(jié)構(gòu)需要有一個(gè)備用的數(shù)據(jù)庫。GoldenGate在體彩中心這個(gè)項(xiàng)目的實(shí)施中采用了N+1模式的容災(zāi),將災(zāi)備中心選在北京,建立了一個(gè)雙機(jī)組成的Oracle RAC,將所有省市的數(shù)據(jù)通過Oracle GoldenGate數(shù)據(jù)復(fù)制軟件實(shí)時(shí)備份到此數(shù)據(jù)庫,從而達(dá)到了容災(zāi)的目的,保證在各種災(zāi)難發(fā)生時(shí)數(shù)據(jù)的完整性。
3)支持異構(gòu)環(huán)境
實(shí)現(xiàn)在不同平臺(tái)和數(shù)據(jù)庫環(huán)境下復(fù)制數(shù)據(jù)。體彩銷售中心由于分散在不同地區(qū)、使用不同的硬件和軟件設(shè)備,因此存在著不同版本的數(shù)據(jù)庫表,在升級(jí)和使用新產(chǎn)品時(shí)舊的數(shù)據(jù)如何安全、完整的實(shí)現(xiàn)遷移是關(guān)鍵問題,通過Oracle GoldenGate的跨平臺(tái)特性能夠?qū)崿F(xiàn)異構(gòu)的數(shù)據(jù)復(fù)制。Oracle GoldenGate這種開放的結(jié)構(gòu)使客戶適應(yīng)各種異構(gòu)數(shù)據(jù)平臺(tái),用戶在產(chǎn)品的軟硬件選擇上更加靈活。
4)可靠的數(shù)據(jù)復(fù)制
體彩的銷售數(shù)據(jù)要求有完整可靠的數(shù)據(jù)備份。GoldenGate為了維護(hù)數(shù)據(jù)交易的一致性,保證數(shù)據(jù)的連續(xù)可用以交易為單位進(jìn)行數(shù)據(jù)復(fù)制,并且采用了抽取和復(fù)制進(jìn)程的方法使用檢查點(diǎn)機(jī)制記錄完成復(fù)制的位置以保證數(shù)據(jù)無丟失,數(shù)據(jù)傳輸過程中還支持128位加密和數(shù)據(jù)壓縮功能。
OracleGoldengate提供了先進(jìn)、靈活的技術(shù)架構(gòu),在實(shí)際應(yīng)用的場(chǎng)景中確實(shí)有很多數(shù)據(jù)遷移與復(fù)制方面的需求,在嚴(yán)格限制停機(jī)時(shí)間的情況下,我們需要有這樣一個(gè)經(jīng)得起考驗(yàn)的工具來實(shí)現(xiàn)數(shù)據(jù)的同步備份,無論從資源的占用、執(zhí)行的效率還是對(duì)系統(tǒng)的要求等方面,Oracle Goldengate都具有獨(dú)特的優(yōu)勢(shì),可以滿足不同業(yè)務(wù)的發(fā)展。
[1] 俞凱晟.GoldenGate軟件在數(shù)據(jù)遷移中的應(yīng)用[J].微型電腦應(yīng)用,2012(4):51-53.
[2] 龔艷.通過Oracle GoldenGate實(shí)現(xiàn)靈活實(shí)時(shí)的數(shù)據(jù)推送[J].信息與電腦(理論版),2012(3):116-117.
[3] 譚志遠(yuǎn),楊劍,宮云平.基于GoldenGate技術(shù)實(shí)現(xiàn)業(yè)務(wù)平臺(tái)異地容災(zāi)備份的解決方[J].移動(dòng)通信,2011(14):69-73.