1.現(xiàn)狀及需求
1.1現(xiàn)狀
從2008年開(kāi)始,我市建立了重慶市主城范圍內(nèi)集中統(tǒng)一管理的城鎮(zhèn)地籍?dāng)?shù)據(jù)庫(kù),實(shí)現(xiàn)了城鎮(zhèn)土地登記系統(tǒng)和數(shù)據(jù)的大集中,中心數(shù)據(jù)庫(kù)采用ORACLE數(shù)據(jù)庫(kù)平臺(tái)。
按照我市土地和房屋合一登記的管理模式的要求,從2010年開(kāi)始,我市各房屋登記中心在全市集中的城鎮(zhèn)地籍?dāng)?shù)據(jù)庫(kù)的基礎(chǔ)上,結(jié)合原有的房屋登記系統(tǒng),以宗地為線索開(kāi)展了房屋登記數(shù)據(jù)的清理工作,建立了全市集中統(tǒng)一的城鎮(zhèn)地房籍?dāng)?shù)據(jù)庫(kù)和應(yīng)用系統(tǒng)。
1.2 需求
由于我市實(shí)行的是大集中的數(shù)據(jù)管理模式,中心生產(chǎn)數(shù)據(jù)庫(kù)在出現(xiàn)故障的情況下如不能得到及時(shí)恢復(fù),將導(dǎo)致全市土地和房屋登記業(yè)務(wù)停頓,因此必須在中心機(jī)房建立與生產(chǎn)數(shù)據(jù)庫(kù)實(shí)時(shí)同步的數(shù)據(jù)庫(kù),確保在生產(chǎn)數(shù)據(jù)庫(kù)出現(xiàn)較長(zhǎng)時(shí)間不能恢復(fù)的故障的情況下,啟用備用數(shù)據(jù)庫(kù),保證業(yè)務(wù)的連續(xù)。
同時(shí),由于數(shù)據(jù)在市局統(tǒng)一存放,各單位無(wú)數(shù)據(jù)庫(kù)。而各單位由于對(duì)數(shù)據(jù)使用的需求千差萬(wàn)別,無(wú)法在市局統(tǒng)一的數(shù)據(jù)庫(kù)上滿足其個(gè)性化的需求。因此需將市局集中的數(shù)據(jù)同步到各區(qū),既可實(shí)現(xiàn)數(shù)據(jù)的異地備份,同時(shí)各區(qū)可利用改回備數(shù)據(jù)進(jìn)行各類(lèi)統(tǒng)計(jì)分析和專(zhuān)題利用。
2.技術(shù)比較
目前基于Oracle數(shù)據(jù)庫(kù)的數(shù)據(jù)同步技術(shù)大體上可分為兩類(lèi):Oracle自帶的數(shù)據(jù)同步技術(shù)和第三方廠商提供的數(shù)據(jù)同步技術(shù)。Oracle自帶的同步技術(shù)主要有DataGuard,Streams, GoldenGate三種技術(shù)。第三方廠商的數(shù)據(jù)同步技術(shù)有Quest公司的SharePlex和DSG的RealSync。
本文重點(diǎn)就ORACLE本身提供的DataGuard,Streams, GoldenGate三種同步技術(shù)進(jìn)行比較。
2.1 DataGuard技術(shù)
DataGuard是Oracle數(shù)據(jù)庫(kù)自帶的數(shù)據(jù)同步功能,基本原理是將日志文件從原數(shù)據(jù)庫(kù)傳輸?shù)侥繕?biāo)數(shù)據(jù)庫(kù),然后在目標(biāo)數(shù)據(jù)庫(kù)上應(yīng)用(Apply)這些日志文件,從而使目標(biāo)數(shù)據(jù)庫(kù)與源數(shù)據(jù)庫(kù)保持同步。
DataGuard為源數(shù)據(jù)庫(kù)提供了兩種日志傳輸方式,ARCH傳輸方式和LGWR傳輸方式,其中,LGWR傳輸方式可實(shí)現(xiàn)同步和異步的傳輸。在這些日志傳輸?shù)姆绞缴,可提供三種數(shù)據(jù)。
保護(hù)模式,即最大性能(Maximum Performance Mode)、最大保護(hù)(Maximum Protection Mode)和最大可用(Maximum Availability Mode)。
根據(jù)目標(biāo)數(shù)據(jù)庫(kù)對(duì)日志應(yīng)用方式(Log Apply)的不同,該技術(shù)可分為Physical Standby(Redo Apply)和Logical Standby(SQL Apply)兩種方式。物理同步是指目標(biāo)庫(kù)通過(guò)介質(zhì)恢復(fù)的方式保持與源數(shù)據(jù)庫(kù)同步。邏輯同步是指目標(biāo)數(shù)據(jù)庫(kù)通過(guò)LogMiner挖掘從源數(shù)據(jù)庫(kù)傳輸過(guò)來(lái)的日志,構(gòu)造成SQL語(yǔ)句,然后在目標(biāo)庫(kù)上執(zhí)行這些SQL,使之與源數(shù)據(jù)庫(kù)保持同步。
2.2 Streams技術(shù)
Streams技術(shù)是指利用挖掘日志文件生成變更的邏輯記錄,然后將這些變更應(yīng)用到目標(biāo)數(shù)據(jù)庫(kù)上,從而實(shí)現(xiàn)數(shù)據(jù)庫(kù)之間或一個(gè)數(shù)據(jù)庫(kù)內(nèi)部的數(shù)據(jù)同步。
其實(shí)現(xiàn)步驟為利用Capture進(jìn)程分析日志,生成邏輯記錄(LCR),將其放入一個(gè)隊(duì)列。Propagation進(jìn)程將生成的邏輯記錄發(fā)送到目標(biāo)數(shù)據(jù)庫(kù)中。目標(biāo)數(shù)據(jù)庫(kù)利用Apply進(jìn)程將LCR應(yīng)用到數(shù)據(jù)庫(kù)中,實(shí)現(xiàn)與源數(shù)據(jù)庫(kù)的同步。
Capture進(jìn)程一般位于源數(shù)據(jù)庫(kù),Capture進(jìn)程將日志分析后生成的LCR,然后再傳輸?shù)侥繕?biāo)數(shù)據(jù)庫(kù)中進(jìn)行應(yīng)用。也可將Capture進(jìn)程配置在目標(biāo)數(shù)據(jù)庫(kù)中,源數(shù)據(jù)庫(kù)直接將日志文件傳輸?shù)侥繕?biāo)數(shù)據(jù)庫(kù),然后再利用配置在目標(biāo)數(shù)據(jù)庫(kù)的Capture進(jìn)程進(jìn)行分析,生成邏輯記錄再利用Apply進(jìn)程進(jìn)行應(yīng)用。
2.3 GoldenGate技術(shù)
GoldenGate數(shù)據(jù)同步的基本原理是由Extract進(jìn)程讀取源數(shù)據(jù)庫(kù)的事物日志(Oracle中是redo log),將其中的變更操作(insert、update、delete等)按事務(wù)執(zhí)行的順序組合在一起,直接將其發(fā)送到目標(biāo)服務(wù)其上,或者存放到Trails文件中,然后由Data Pump進(jìn)程將Trails文件傳輸?shù)侥繕?biāo)服務(wù)其上,在目標(biāo)服務(wù)器上Collector進(jìn)程接收從源服務(wù)器傳送過(guò)來(lái)的Trails文件,最后由Replicat進(jìn)程將Trails文件中的數(shù)據(jù)裝載到目標(biāo)數(shù)據(jù)庫(kù)中。GoldenGate通過(guò)網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)量通常是日志量的1/4或更少。
3.技術(shù)選擇
3.1 中心數(shù)據(jù)庫(kù)與本地?cái)?shù)據(jù)庫(kù)同步技術(shù)選擇
為避免中心數(shù)據(jù)庫(kù)在出現(xiàn)長(zhǎng)時(shí)間不能恢復(fù)故障引起業(yè)務(wù)的長(zhǎng)時(shí)間停頓,我們利用2004年購(gòu)置的IBM P650小機(jī)建立了中心數(shù)據(jù)庫(kù)的鏡像數(shù)據(jù)庫(kù)?紤]到中心數(shù)據(jù)庫(kù)和鏡像數(shù)據(jù)庫(kù)均使用UNIX操作系統(tǒng),而且都在一個(gè)局域網(wǎng)內(nèi),為方便配置,我們通過(guò)DATA GUARD實(shí)現(xiàn)中心數(shù)據(jù)庫(kù)與鏡像數(shù)據(jù)庫(kù)的數(shù)據(jù)同步。同時(shí),為確保數(shù)據(jù)數(shù)據(jù)的零丟失,日志傳輸采用最大保護(hù)模式。
3.2 中心數(shù)據(jù)庫(kù)與區(qū)(縣)數(shù)據(jù)庫(kù)異地同步的技術(shù)選擇
由于我市市級(jí)集中的中心數(shù)據(jù)庫(kù)安裝在UNIX操作系統(tǒng)上,而各區(qū)只能提供普通的PC服務(wù)器均安裝的為WINDOWS操作系統(tǒng)進(jìn)行數(shù)據(jù)回備,而且單位數(shù)量有三十多個(gè),由于DATA GUARD只支持同平臺(tái)的數(shù)據(jù)庫(kù)之間的數(shù)據(jù)同步,而且只支持最多9個(gè)的STANDBY數(shù)據(jù)庫(kù)。同時(shí)考慮到中心數(shù)據(jù)庫(kù)之間與其他單位的數(shù)據(jù)庫(kù)分別處于不同地方,之間用6M的網(wǎng)絡(luò)相連,正常工作時(shí)間還需通過(guò)網(wǎng)絡(luò)傳輸大量的業(yè)務(wù)數(shù)據(jù),而通過(guò)STREAM的數(shù)據(jù)同步技術(shù)需占用大量的網(wǎng)絡(luò)帶寬。
由于中心數(shù)據(jù)庫(kù)與區(qū)(縣)數(shù)據(jù)庫(kù)平臺(tái)操作系統(tǒng)平臺(tái)異構(gòu),同時(shí)要實(shí)現(xiàn)一個(gè)中心數(shù)據(jù)庫(kù)與30多個(gè)數(shù)據(jù)庫(kù)的同步,盡量減少因同步數(shù)據(jù)對(duì)網(wǎng)絡(luò)帶寬的占用,考慮到GOLDEN GATE在這些方面都具有明顯優(yōu)點(diǎn),因此中心數(shù)據(jù)庫(kù)與區(qū)(縣)數(shù)據(jù)庫(kù)的同步采用GOLDEN GATE的技術(shù)實(shí)現(xiàn)。
核心關(guān)注:拓步ERP系統(tǒng)平臺(tái)是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請(qǐng)注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:數(shù)據(jù)大集中管理模式下數(shù)據(jù)同步技術(shù)探討
本文網(wǎng)址:http://www.ezxoed.cn/html/consultation/10839311893.html