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

?

基于同步的數(shù)據(jù)共享實(shí)現(xiàn)方案概論

2018-10-21 10:50吳宇星
科學(xué)與信息化 2018年30期
關(guān)鍵詞:數(shù)據(jù)共享

吳宇星

摘 要 隨著企業(yè)IT系統(tǒng)架構(gòu)進(jìn)入“互聯(lián)網(wǎng)+”時(shí)代,企業(yè)應(yīng)用軟件也越來越多地采用分布式數(shù)據(jù)庫進(jìn)行數(shù)據(jù)存儲(chǔ)。企業(yè)數(shù)據(jù)的共享是IT系統(tǒng)中重要的一個(gè)環(huán)節(jié),如何實(shí)現(xiàn)數(shù)據(jù)分布式存儲(chǔ)架構(gòu)的數(shù)據(jù)共享就成為一個(gè)重要的課題了,特別是大批量的數(shù)據(jù)共享就顯得尤為重要,本文就數(shù)據(jù)分布式存儲(chǔ)后基于數(shù)據(jù)同步方案的數(shù)據(jù)共享技術(shù)進(jìn)行方案設(shè)計(jì)。

關(guān)鍵詞 分布式數(shù)據(jù)庫;數(shù)據(jù)共享;數(shù)據(jù)分發(fā);分布式緩存

前言

在分布式系統(tǒng)架構(gòu)中,數(shù)據(jù)分布式存儲(chǔ),提升了數(shù)據(jù)庫的水平擴(kuò)展能力,但是受限分布式數(shù)據(jù)庫的特性,分布式數(shù)據(jù)庫數(shù)據(jù)分散存儲(chǔ),缺乏傳統(tǒng)Oracle數(shù)據(jù)庫的DBLink鏈路數(shù)據(jù)共享機(jī)制、也難以像傳統(tǒng)的集中數(shù)據(jù)一樣進(jìn)行復(fù)雜的關(guān)聯(lián),給數(shù)據(jù)共享帶來了不少的困難。

1 需求及思路

分布式系統(tǒng)架構(gòu)中,從web、服務(wù)到數(shù)據(jù)存儲(chǔ)按照分布式系統(tǒng)架構(gòu)設(shè)計(jì)方法,各層實(shí)現(xiàn)分布式能力。其中,數(shù)據(jù)分布式存儲(chǔ)是整個(gè)架構(gòu)的基礎(chǔ)。數(shù)據(jù)分布式存儲(chǔ):按照高內(nèi)聚的原則,對(duì)數(shù)據(jù)按照時(shí)間、功能、ID等維度進(jìn)行垂直和水平切分,分片存儲(chǔ)。

在分布式數(shù)據(jù)存儲(chǔ)中,數(shù)據(jù)分散存儲(chǔ),為支持業(yè)務(wù)實(shí)現(xiàn),需要考慮數(shù)據(jù)的快速發(fā)布,主要的數(shù)據(jù)分發(fā)場(chǎng)景:①配置類數(shù)據(jù)同步給周邊系統(tǒng),②全局配置類數(shù)據(jù)更新發(fā)布到分布式緩存。

借鑒互聯(lián)網(wǎng)架構(gòu)經(jīng)驗(yàn),數(shù)據(jù)的共享主要有兩種方式:一是數(shù)據(jù)服務(wù)化,二是數(shù)據(jù)同步冗余方式,對(duì)于大批量的數(shù)據(jù)共享通常為提升應(yīng)用性能,部分全局的數(shù)據(jù)在分布式數(shù)據(jù)節(jié)點(diǎn)中都保存,但是一旦數(shù)據(jù)庫的數(shù)據(jù)發(fā)生變化,通知每個(gè)分布的服務(wù)更新內(nèi)存數(shù)據(jù),修改后需要同步給其他所有的數(shù)據(jù)庫節(jié)點(diǎn)。

2 總體方案

數(shù)據(jù)同步主要包括獲取變化數(shù)據(jù)和數(shù)據(jù)發(fā)布兩個(gè)環(huán)節(jié):

(1)獲取變化數(shù)據(jù),需要能夠通過數(shù)據(jù)變化事件等方式獲取變化的數(shù)據(jù),常用方案:

①通過時(shí)間戳+版本號(hào)識(shí)別;②通過應(yīng)用同步寫入數(shù)據(jù)變化事件記錄;③通過數(shù)據(jù)庫日志生成數(shù)據(jù)變更事件。

(2)數(shù)據(jù)發(fā)布,將識(shí)別的數(shù)據(jù)同步到目標(biāo)數(shù)據(jù)庫或緩存,要求數(shù)據(jù)的完整性要求高,同步速度快。

3 詳細(xì)實(shí)現(xiàn)方案

3.1 獲取變化數(shù)據(jù)

(1)觸發(fā)器方式

通過建立緩存更新事件表,使用觸發(fā)器,記錄變更處理事件信息;使用應(yīng)用程序,輪詢緩存更新事件表信息,將變更信息修改到具體的緩存中;

①事件生成機(jī)制。對(duì)數(shù)據(jù)表設(shè)置觸發(fā)器,當(dāng)數(shù)據(jù)發(fā)生變化時(shí)候,將變更事件記錄到更新事件表。②更新機(jī)制。開發(fā)一個(gè)工具,建立一套配置表(該配置表的信息通過單獨(dú)功能直接更新):支持設(shè)置更新的緩存類型、存儲(chǔ)IP、位置等信息,輪詢緩存更新事件表,根據(jù)配置信息進(jìn)行同步目標(biāo)數(shù)據(jù)庫或緩存。

優(yōu)點(diǎn):對(duì)于事件生成無須區(qū)分應(yīng)用界面及數(shù)據(jù)腳本,統(tǒng)一生成。

缺點(diǎn):需要數(shù)據(jù)庫加觸發(fā)器,數(shù)據(jù)庫很多,維護(hù)管理復(fù)雜。

(2)消息隊(duì)列方式

通過應(yīng)用程序生成數(shù)據(jù)變更事件放入消息隊(duì)列,通過消息隊(duì)列通知相關(guān)應(yīng)用更新緩存。

①事件生成機(jī)制。開發(fā)工具,提供配置表,配置哪些表變更需要觸發(fā)信息。應(yīng)用程序變更數(shù)據(jù)時(shí)候生成事件機(jī)制,放入消息隊(duì)列。數(shù)據(jù)庫腳本變更配置:建立變更事件表,數(shù)據(jù)腳本根據(jù)規(guī)則,生成變更事件數(shù)據(jù),由程序再根據(jù)變更內(nèi)容及上述的配置信息,生成事件到消息隊(duì)列表數(shù)據(jù)。②更新機(jī)制。開發(fā)一個(gè)工具,建立一套配置表(該配置表的信息通過單獨(dú)功能直接更新):支持設(shè)置更新的緩存類型、存儲(chǔ)IP、位置等信息,根據(jù)從消息隊(duì)列接收到的事件,根據(jù)配置信息進(jìn)行同步目標(biāo)數(shù)據(jù)庫或緩存。

優(yōu)點(diǎn):相對(duì)穩(wěn)定點(diǎn);

缺點(diǎn):不在數(shù)據(jù)庫統(tǒng)一實(shí)現(xiàn),數(shù)據(jù)修改、割接需要關(guān)注,更新事件表數(shù)據(jù)的插入。

(3)時(shí)間戳方式

需要同步的數(shù)據(jù)庫表增加時(shí)間戳字段,數(shù)據(jù)更新時(shí),同時(shí)更新時(shí)間戳,通過比較緩存中的數(shù)據(jù)與數(shù)據(jù)庫記錄的時(shí)間戳判斷是否更新數(shù)據(jù)。

①事件生成機(jī)制。數(shù)據(jù)庫中需要緩存的表,增加時(shí)間戳字段,更新數(shù)據(jù)時(shí),同時(shí)更新時(shí)間戳。②更新機(jī)制。定時(shí)跟進(jìn)數(shù)據(jù)庫中數(shù)據(jù)的時(shí)間戳,將數(shù)據(jù)發(fā)布到目標(biāo)數(shù)據(jù)庫或緩存。

優(yōu)點(diǎn):①設(shè)計(jì)簡單,實(shí)現(xiàn)快捷;②不依賴第三方組件,觸發(fā)器,由應(yīng)用直接實(shí)現(xiàn)。

缺點(diǎn):需要定時(shí)輪詢緩存中的全部數(shù)據(jù),數(shù)據(jù)庫開銷大。

3.2 數(shù)據(jù)發(fā)布方案

識(shí)別出待同步數(shù)據(jù)后,通過JGroups機(jī)制將數(shù)據(jù)同步到周邊系統(tǒng)或分布式緩存應(yīng)用。JGroups是一個(gè)可靠的群組通訊Java工具包,組成員可以分布在局域網(wǎng)或廣域網(wǎng)中,具有非常靈活的協(xié)議棧配置,可輕易配置使用的網(wǎng)絡(luò)協(xié)議。

數(shù)據(jù)分發(fā)模塊采用線程池的概念,每個(gè)JGroups成員配置線程池,每個(gè)線程負(fù)責(zé)更新一個(gè)目標(biāo)對(duì)象(如:數(shù)據(jù)庫、分布式緩存)。通過這種方式降低JGroups集群之間的成員數(shù)量,加快通信速度。

數(shù)據(jù)發(fā)布網(wǎng)絡(luò)模式:

3.3 配套管理及監(jiān)控功能

為了實(shí)現(xiàn)穩(wěn)定可靠的數(shù)據(jù)共享,需要建立完善的配套管理工具,主要包括:

(1)實(shí)現(xiàn)在線配置同步參數(shù):在數(shù)據(jù)同步過程中,用戶可以隨時(shí)增加或減少需要同步的數(shù)據(jù)源及同步參數(shù);

(2)建立同步性能查詢功能: 數(shù)據(jù)同步提供同步延遲、同步性能(記錄數(shù)、吞吐量)趨勢(shì)圖,用戶可以方便查看同步通道的性能趨勢(shì)。

(3)建立完善監(jiān)控功能: 數(shù)據(jù)同步提供同步作業(yè)狀態(tài)、同步延遲的報(bào)警監(jiān)控功能,用戶可以根據(jù)業(yè)務(wù)敏感度,自定義同步延遲報(bào)警閾值。

4 結(jié)束語

本文初步設(shè)想分布式數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)發(fā)布技術(shù)方案,目前該實(shí)現(xiàn)方案已經(jīng)在項(xiàng)目中初步應(yīng)用,需在后續(xù)的實(shí)施過程中進(jìn)一步的提升完善。

猜你喜歡
數(shù)據(jù)共享
淺談天津氣象信息化發(fā)展現(xiàn)狀和發(fā)展趨勢(shì)
科學(xué)大數(shù)據(jù)的發(fā)展態(tài)勢(shì)及建議
數(shù)字化迎新系統(tǒng)宿舍分配模塊的設(shè)計(jì)與實(shí)現(xiàn)
網(wǎng)絡(luò)時(shí)代電子文件和檔案管理的探索
貴州大數(shù)據(jù)產(chǎn)業(yè)發(fā)展戰(zhàn)略理解和實(shí)施建議
面向海上平臺(tái)機(jī)械電氣設(shè)備的數(shù)據(jù)共享平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)
基于協(xié)同辦公的會(huì)議管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
高校一表通系統(tǒng)建設(shè)探究
基于SOA架構(gòu)的中學(xué)精細(xì)化管理模式研究
基于元數(shù)據(jù)映射機(jī)制的異構(gòu)數(shù)據(jù)操作