国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

數(shù)據(jù)庫同步技術(shù)的研究與應(yīng)用

2019-07-16 03:14:59寇媛媛王曉明喬文文
電腦知識與技術(shù) 2019年15期
關(guān)鍵詞:源端數(shù)據(jù)表時效

寇媛媛 王曉明 喬文文

摘要:氣象部門早期的業(yè)務(wù)系統(tǒng)存在嚴(yán)重的信息孤島現(xiàn)象,需要合理規(guī)劃數(shù)據(jù)流程,采用數(shù)據(jù)庫同步技術(shù)能夠保證各個數(shù)據(jù)庫的一致性和數(shù)據(jù)的可用性。本文介紹了四種不同的同步技術(shù),主要對比四種技術(shù)的優(yōu)缺點,根據(jù)不同的數(shù)據(jù)、不同的時效要求、不同的數(shù)據(jù)環(huán)境,采用不同的同步技術(shù)應(yīng)用于廣東省氣象探測數(shù)據(jù)中心數(shù)據(jù)庫體系,支撐本省標(biāo)準(zhǔn)數(shù)據(jù)接口、業(yè)務(wù)網(wǎng)和其他業(yè)務(wù)系統(tǒng)。同時總結(jié)了同步技術(shù)的重要性,在使用過程中遇到的一些問題和后期需要改進(jìn)的地方。

關(guān)鍵詞:數(shù)據(jù)庫;同步技術(shù);XML;DML;Oracle Goldengate;Oracle DateGuard

中圖分類號:TP311 ? ? ? ?文獻(xiàn)標(biāo)識碼:A

文章編號:1009-3044(2019)15-0003-03

氣象部門早期的業(yè)務(wù)系統(tǒng)繁多,大多自帶獨立的數(shù)據(jù)庫系統(tǒng),這些系統(tǒng)之間相互獨立,類型不一,存在嚴(yán)重的信息孤島現(xiàn)象。大量的數(shù)據(jù)庫系統(tǒng)使業(yè)務(wù)系統(tǒng)的鏈路變得復(fù)雜,數(shù)據(jù)庫的運維給管理人員在技術(shù)和人力方面均帶來較大挑戰(zhàn)。因此要合理規(guī)劃數(shù)據(jù)流程,在盡量保證不影響現(xiàn)有業(yè)務(wù)系統(tǒng)并且消耗數(shù)據(jù)庫服務(wù)器資源足夠小的前提下,采用數(shù)據(jù)庫同步技術(shù),保證各個數(shù)據(jù)庫數(shù)據(jù)的一致性,提高數(shù)據(jù)的可用性。

1 數(shù)據(jù)庫同步技術(shù)

數(shù)據(jù)庫同步技術(shù)最先出現(xiàn)在熱備容災(zāi)領(lǐng)域,用以把數(shù)據(jù)實時同步到另外一個或者幾個不同的地方以防止不可抗災(zāi)難的發(fā)生[1]。數(shù)據(jù)同步是通過技術(shù)手段將源端數(shù)據(jù)庫中的數(shù)據(jù)更新到其他數(shù)據(jù)庫中,從而保證所有數(shù)據(jù)庫中的數(shù)據(jù)一致。當(dāng)源端數(shù)據(jù)庫中的數(shù)據(jù)發(fā)生改變時,其他數(shù)據(jù)庫中的數(shù)據(jù)也要隨之發(fā)生改變,從而保證應(yīng)用需要。

1.1 XML技術(shù)實現(xiàn)數(shù)據(jù)同步

XML技術(shù)是早期最多采用的數(shù)據(jù)同步技術(shù),XML具有簡單易懂,有自描述性,可擴展性和平臺無關(guān)性,并且是純文本文件等特點,能夠有效地解決在異構(gòu)數(shù)據(jù)庫同步時出現(xiàn)的沖突,在數(shù)據(jù)交換中經(jīng)常被使用[2]。早期的氣象部門數(shù)據(jù)庫采用的是XML技術(shù)實現(xiàn)數(shù)據(jù)同步,定時啟動數(shù)據(jù)抽取程序,抽取源端數(shù)據(jù)庫在抽取時間段內(nèi)變化的數(shù)據(jù),形成XML文件后,再利用數(shù)據(jù)插入程序?qū)ML文件中的數(shù)據(jù)導(dǎo)入目標(biāo)端數(shù)據(jù)庫,流程見圖1。

1.2 DML技術(shù)實現(xiàn)數(shù)據(jù)同步

DML(Data Manipulation Language)是一種數(shù)據(jù)操作語言,主要是用于檢索或者修改數(shù)據(jù)的操作,包括SELECT、INSERT、UPDATE、DELETE操作。

采用DML技術(shù)進(jìn)行數(shù)據(jù)同步的主要是在源端數(shù)據(jù)庫和目標(biāo)端數(shù)據(jù)庫建立數(shù)據(jù)庫關(guān)聯(lián),通過DML語句進(jìn)行數(shù)據(jù)同步,包括觸發(fā)機制和定時機制。觸發(fā)機制需要在源端和目標(biāo)端數(shù)據(jù)庫表上創(chuàng)建序列字段,在目標(biāo)端創(chuàng)建記錄同步序列數(shù)值的表,當(dāng)源端的數(shù)據(jù)發(fā)生變化時,根據(jù)目標(biāo)端序列表記錄下來的序列號確定新的序列號,對源端的數(shù)據(jù)表進(jìn)行數(shù)據(jù)抽取,插入目標(biāo)端數(shù)據(jù)庫,同時記錄下最大序列號寫入目標(biāo)端序列表,流程見圖2。定時機制只需要定期啟動進(jìn)程抽取源端數(shù)據(jù)庫變化的數(shù)據(jù),插入目標(biāo)數(shù)據(jù)庫中。

1.3 Oracle Goldengate實現(xiàn)數(shù)據(jù)同步

Oracle GoldenGate(以下簡稱OGG)是一種基于日志的結(jié)構(gòu)化數(shù)據(jù)復(fù)制備份軟件,通過實時讀取源數(shù)據(jù)庫在線日志或歸檔日志獲得數(shù)據(jù)的變化,將數(shù)據(jù)變化順序暫存,通過壓縮和加密后傳送到目標(biāo)主機,再將這些變化應(yīng)用到目標(biāo)端數(shù)據(jù)庫,從而實現(xiàn)源數(shù)據(jù)庫與目標(biāo)端數(shù)據(jù)庫同步。OGG具有高性能、可靠性、異構(gòu)性等特點[3],可以在異構(gòu)的IT基礎(chǔ)結(jié)構(gòu)之間實現(xiàn)大量數(shù)據(jù)亞秒一級的實時復(fù)制,支持多種拓?fù)浣Y(jié)構(gòu)上單向或雙向部署[4]。圖3為OGG的典型數(shù)據(jù)流程圖[5],其中抽取進(jìn)程負(fù)責(zé)從源端數(shù)據(jù)表或者日志中捕獲數(shù)據(jù),投遞進(jìn)程將源端產(chǎn)生的本地Trail文件以數(shù)據(jù)塊的形式通過TCP/IP協(xié)議發(fā)送到目標(biāo)端,復(fù)制進(jìn)程讀取目標(biāo)端Trail文件中的內(nèi)容,并將其解析為DML或DDL語句,然后應(yīng)用到目標(biāo)端數(shù)據(jù)庫中。

1.4 Oracle DateGuard實現(xiàn)數(shù)據(jù)同步

DataGuard(以下簡稱DG)是Oracle 公司基于數(shù)據(jù)庫級別的容災(zāi)解決方案[6],是一種高可用的數(shù)據(jù)庫方案,它是在源端與目標(biāo)端之間通過日志實現(xiàn)數(shù)據(jù)同步,可以實現(xiàn)快速切換與災(zāi)難性恢復(fù)。源端對外提供服務(wù),當(dāng)用戶在源端進(jìn)行操作時,操作被記錄在聯(lián)機日志和歸檔日志中,這些日志通過網(wǎng)絡(luò)傳遞給目標(biāo)端,在目標(biāo)端數(shù)據(jù)庫上重演,從而實現(xiàn)源端和目標(biāo)端數(shù)據(jù)庫之間的數(shù)據(jù)同步。

2 同步方法對比

2.1 XML技術(shù)實現(xiàn)數(shù)據(jù)同步

自主研發(fā)的基于XML技術(shù)的數(shù)據(jù)同步可以兼容不同類型的數(shù)據(jù)庫系統(tǒng),但是由于采取的是定時機制,同步的時效性較差。當(dāng)源端數(shù)據(jù)表出現(xiàn)大量的數(shù)據(jù)變化時,數(shù)據(jù)抽取會生成較大的XML文件,在目標(biāo)端數(shù)據(jù)庫進(jìn)行更新操作時形成大事務(wù),造成數(shù)據(jù)庫的性能下降,影響數(shù)據(jù)庫運行。同時由于同步采用的是單線程程序,當(dāng)遇到XML文件較大時,會堵塞目標(biāo)端數(shù)據(jù)的同步,影響同步的時效。

另外,為了保證數(shù)據(jù)的一致性,源端數(shù)據(jù)庫數(shù)據(jù)抽取的時間段會大于同步進(jìn)程運行的時間間隔,同時還需要定時對一定時間段內(nèi)的數(shù)據(jù)進(jìn)行補充更新,一般一個表需要啟用2個甚至3個同步進(jìn)程,產(chǎn)生大量重復(fù)更新的數(shù)據(jù),消耗了大量的系統(tǒng)資源。

2.2 DML技術(shù)實現(xiàn)數(shù)據(jù)同步

自主研發(fā)的基于DML技術(shù)的數(shù)據(jù)同步可以兼容不同類型的數(shù)據(jù)庫系統(tǒng),可以根據(jù)業(yè)務(wù)不同采用不同的機制,比如數(shù)據(jù)頻次不確定且時效要求較高的數(shù)據(jù)表就需要采用觸發(fā)機制,而數(shù)據(jù)頻次確定且沒有時效要求的數(shù)據(jù)表可以采用定時機制。

分析采用觸發(fā)機制實現(xiàn)自動站數(shù)據(jù)表的同步,采集的時間為2013年12月18日12Z(國際時)到2013年12月19日03Z(國際時)的整點資料,去除提早入庫的資料主要分析廣東省內(nèi)前1900條(80%資料)入庫站點數(shù)據(jù),時效如表1。同步平均時間差在17秒左右,能夠滿足應(yīng)用的時效要求。

但是在實際應(yīng)用過程中發(fā)現(xiàn),DML觸發(fā)機制實現(xiàn)數(shù)據(jù)同步存在丟數(shù)據(jù)的現(xiàn)象,如表1所示,由于目前氣象部門原始數(shù)據(jù)入庫采用的是并行機制,會存在多條數(shù)據(jù)同時insert的操作,而序列生成器根據(jù)數(shù)據(jù)開始插入的時間給定數(shù)值,存在先插入的數(shù)據(jù)后插入成功的現(xiàn)象。在后插入的數(shù)據(jù)已經(jīng)同步到目標(biāo)端數(shù)據(jù)庫后,先插入的數(shù)據(jù)才插入成功,而目標(biāo)數(shù)據(jù)庫中的序列已經(jīng)是大于該條記錄的序列號,造成數(shù)據(jù)丟失,源端和目標(biāo)端數(shù)據(jù)庫不能保證數(shù)據(jù)一致性。需要另外采用定時機制進(jìn)行數(shù)據(jù)補全,數(shù)據(jù)庫同步采用多種機制重復(fù)運行保證數(shù)據(jù)一致性,對數(shù)據(jù)庫性能造成損耗。

2.3 OGG技術(shù)實現(xiàn)數(shù)據(jù)同步

OGG是目前廣東省氣象局?jǐn)?shù)據(jù)庫系統(tǒng)主要使用的同步方式,在7套ORACLE數(shù)據(jù)庫之間通過部署OGG進(jìn)程進(jìn)行數(shù)據(jù)實時同步,數(shù)據(jù)時效較高。

由于在源端和目標(biāo)端之間存在著大量的字段轉(zhuǎn)換,會對同步時效造成很大的影響。分析采用OGG實現(xiàn)的自動站數(shù)據(jù)表數(shù)據(jù)的同步效率,采集的樣例時間為2018年3月29日12Z(國際時)到2018年3月30日03Z(國際時)的整點資料,去除提早入庫的資料,采集廣東省內(nèi)前2400條(80%資料)入庫站點數(shù)據(jù)的時間,時效如表2,同步平均時間差在20秒左右。源端和目標(biāo)端數(shù)據(jù)量對比如表2,兩端數(shù)據(jù)量一致,能夠保證數(shù)據(jù)的一致性。

OGG的維護(hù)需要一定的成本,需要對維護(hù)人員進(jìn)行專業(yè)的培訓(xùn),同時發(fā)生故障時解決比較復(fù)雜,當(dāng)源端有大事務(wù)時會對目標(biāo)端數(shù)據(jù)庫造成堵塞,影響數(shù)據(jù)同步進(jìn)程的運行,也會造成數(shù)據(jù)庫內(nèi)存、cpu的耗損,嚴(yán)重時會引起數(shù)據(jù)庫無法登錄。

2.4 DG技術(shù)實現(xiàn)數(shù)據(jù)同步

DG是Oracle推薦用于高可用、災(zāi)難恢復(fù)的數(shù)據(jù)同步技術(shù)[6],具有配置管理簡單、運行可靠、可提高系統(tǒng)可用性等特點,可以保證數(shù)據(jù)遷移時的一致性,避免數(shù)據(jù)遷移時的風(fēng)險。同時也具有目標(biāo)端數(shù)據(jù)庫不能支持所有的數(shù)據(jù)類型,只能同步整個數(shù)據(jù)庫,靈活性較差,不支持異構(gòu)環(huán)境等缺點,必須滿足以下幾個條件才能運行:一是環(huán)境中的Oracle版本和操作系統(tǒng)版本要能夠支持DG的實施;二是源端和目標(biāo)端的系統(tǒng)操作系統(tǒng)平臺要一致;三是源端和目標(biāo)端的數(shù)據(jù)庫Oracle版本要統(tǒng)一[5]。

目前DG同步技術(shù)在廣東省氣象數(shù)據(jù)庫中還沒有使用,計劃2018年部署對核心應(yīng)用數(shù)據(jù)庫進(jìn)行備份,兩端數(shù)據(jù)庫網(wǎng)絡(luò)搭建在一個內(nèi)網(wǎng)區(qū)域,解決了日志傳輸對帶寬及時延的較高要求,在源端數(shù)據(jù)庫發(fā)生故障時斷開DG,將數(shù)據(jù)接入以及應(yīng)用直接切換至備用數(shù)據(jù)庫,保證兩端數(shù)據(jù)庫的一致性,保證應(yīng)用完全感受不到數(shù)據(jù)庫故障帶來的影響。

綜合以上分析,四種數(shù)據(jù)庫同步技術(shù)的對比見表3。

3 同步技術(shù)在氣象部門數(shù)據(jù)庫中的應(yīng)用

隨著氣象現(xiàn)代化的發(fā)展,“氣象資料一分鐘到桌面”的提出對數(shù)據(jù)時效的要求不斷提高,在平安山區(qū)、平安海洋等項目的支持下已經(jīng)對數(shù)據(jù)傳輸方式進(jìn)行了升級,區(qū)域自動站等數(shù)據(jù)目前采用的是流數(shù)據(jù)傳輸方式,數(shù)據(jù)落地時間從原來的1分鐘縮短到現(xiàn)在的不到10秒,改進(jìn)傳輸方式的同時,也對同步技術(shù)提出了更高的要求。

廣東省氣象探測數(shù)據(jù)中心的數(shù)據(jù)庫系統(tǒng)早期應(yīng)用自己開發(fā)的程序采用XML技術(shù)進(jìn)行數(shù)據(jù)同步,時效性較差,也不能保證兩端數(shù)據(jù)庫的數(shù)據(jù)一致性。改進(jìn)后應(yīng)用自己開發(fā)的程序采用DML技術(shù)進(jìn)行數(shù)據(jù)同步,有效地解決了數(shù)據(jù)時效的問題,但是數(shù)據(jù)一致性問題還是沒有得到解決。通過對幾種同步方式的分析對比,OGG技術(shù)能夠滿足資料時效要求,保證數(shù)據(jù)一致性要求,方便部署使用,且有后期比較完善的軟件維護(hù)。2015年開始數(shù)據(jù)中心采用OGG方式進(jìn)行數(shù)據(jù)同步,但是部分系統(tǒng)存在著一些系統(tǒng)以及服務(wù)器的問題無法部署OGG軟件。GPS/MET數(shù)據(jù)庫每個時次數(shù)據(jù)量和數(shù)據(jù)時間比較固定,采用的是DML技術(shù)定時機制進(jìn)行同步;閃電定位數(shù)據(jù)庫數(shù)據(jù)不固定,且數(shù)據(jù)量比較小,采用的是DML技術(shù)觸發(fā)機制進(jìn)行同步;資料檔案室的數(shù)據(jù)庫表不能進(jìn)行改動,數(shù)據(jù)固定,無時效性要求,采用XML技術(shù)進(jìn)行同步。經(jīng)過統(tǒng)籌分析各個系統(tǒng)的數(shù)據(jù)、時效要求、數(shù)據(jù)環(huán)境,分別采用XML、DML技術(shù)進(jìn)行同步,2018年還將使用DG技術(shù)進(jìn)行數(shù)據(jù)庫災(zāi)備,具體架構(gòu)如圖5所示。整個數(shù)據(jù)庫體系通過高效系統(tǒng)及多種同步軟件,實現(xiàn)多源數(shù)據(jù)庫資源融合,目前已實現(xiàn)地面、高空、海洋、農(nóng)業(yè)與生態(tài)、大氣成分、氣象服務(wù)產(chǎn)品、歷史氣候待用數(shù)據(jù)7大類,共74種氣象資料的存放,是本省標(biāo)準(zhǔn)數(shù)據(jù)接口、業(yè)務(wù)網(wǎng)和其他業(yè)務(wù)系統(tǒng)的底層支撐。

4結(jié)束語

隨著氣象事業(yè)的不斷發(fā)展,氣象現(xiàn)代化的提出對數(shù)據(jù)的時效性、可用性要求不斷提高,也對數(shù)據(jù)庫同步技術(shù)提出了更高的要求,數(shù)據(jù)庫同步技術(shù)的發(fā)展將會極大地提高數(shù)據(jù)庫管理工作的效率和數(shù)據(jù)安全性。

但是目前OGG同步還存在著一定的問題,經(jīng)過分析時效差主要是因為需要對源端的數(shù)據(jù)進(jìn)行字段轉(zhuǎn)換,從源端數(shù)據(jù)表抽取數(shù)據(jù)耗損了一定的時間,后期的工作中將主要針對源端數(shù)據(jù)庫進(jìn)行升級改造,保證源端和目標(biāo)端數(shù)據(jù)庫表結(jié)構(gòu)一致,可以采取全表同步的方式,從而提高同步效率,保障氣象數(shù)據(jù)的及時性、有效性和可用性。

參考文獻(xiàn):

[1] 李旭,董爭鳴.基于 Oracale數(shù)據(jù)庫實時同步技術(shù)的研究與分析[J].信息安全與技術(shù),2014(2):57-59.

[2] 張振友,孫燕.分布式異構(gòu)數(shù)據(jù)庫同步技術(shù)研究與實現(xiàn)[J].電腦知識與技術(shù),2015(28):16-19.

[3] ORACLE.甲 骨 文 推 出 最 新 數(shù) 據(jù) 集 成 解 決 方 案 ——OracleGoldenGate.https://www.oracle.com/cn/corporate/pressrelease/1-3074.html,2009.

[4] JP Jeffries.Oracle GoldenGate 11g Implementer's guide[M].Birmingham:Packt Publishing Ltd.,2011.

[5] R Gupta.Mastering Oracle GoldenGate[M].Apress, 2016.

[6] 盛瑋琦.基于Oracle Dataguard的數(shù)據(jù)災(zāi)備技術(shù)[J].信息系統(tǒng)工程,2010(6):77.

[7] 郭偉華.淺談Oracle數(shù)據(jù)同步技術(shù)[J].科技資訊,2010(33):13-14.

[8] 潘立江,包永堂.Oracle DataGuard在異地容災(zāi)中的分析與應(yīng)用[J].電腦知識與技術(shù),2008(1):8-10.

【通聯(lián)編輯:唐一東】

猜你喜歡
源端數(shù)據(jù)表時效
湖北省新冠肺炎疫情數(shù)據(jù)表
黨員生活(2020年2期)2020-04-17 09:56:30
融合源端句法和語義角色信息的AMR解析
基于仿真分析的傳輸線電路特性研究
基于列控工程數(shù)據(jù)表建立線路拓?fù)潢P(guān)系的研究
J75鋼的時效處理工藝
一種新型耐熱合金GY200的長期時效組織與性能
上海金屬(2016年3期)2016-11-23 05:19:47
環(huán)保執(zhí)法如何把握對違法建設(shè)項目的追責(zé)時效?
飛機燃油系統(tǒng)對多路輸入信號源選擇的方法
科技視界(2016年22期)2016-10-18 15:53:02
X80管線鋼的應(yīng)變時效行為研究
上海金屬(2014年1期)2014-12-18 06:51:59
圖表
祥云县| 丹凤县| 绵阳市| 沈阳市| 辛集市| 华阴市| 连山| 普定县| 旬邑县| 仁寿县| 新郑市| 河曲县| 阳城县| 丹棱县| 石景山区| 佛坪县| 安阳市| 越西县| 神木县| 定西市| 通州市| 绍兴县| 白玉县| 北京市| 永康市| 峡江县| 星子县| 滨海县| 乡宁县| 邢台县| 长子县| 布尔津县| 吉木萨尔县| 泽普县| 长宁县| 黑龙江省| 阿克陶县| 巨野县| 镇安县| 崇信县| 枣强县|