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