數(shù)據(jù)同步:當(dāng)數(shù)據(jù)源發(fā)生改變時(shí),其他相關(guān)數(shù)據(jù)也跟著發(fā)展變化。根據(jù)需求不同可采取以下方案。
1.觸發(fā)器 在數(shù)據(jù)庫(kù)建立增刪改的觸發(fā)器。觸發(fā)器將變更放到一張臨時(shí)表里。oracle同步cdc 優(yōu)點(diǎn):實(shí)時(shí)同步 缺點(diǎn):影響到業(yè)務(wù)系統(tǒng),因?yàn)樾枰跇I(yè)務(wù)系統(tǒng)建立觸發(fā)器 2.日志 通過(guò)分析源數(shù)據(jù)庫(kù)日志,來(lái)獲得源數(shù)據(jù)庫(kù)中的變化的數(shù)據(jù)。oracle異步cdc 優(yōu)點(diǎn):不影響業(yè)務(wù)系統(tǒng) 缺點(diǎn):有一定得延時(shí),對(duì)于沒(méi)有提供日志分析接口的數(shù)據(jù)源,開(kāi)發(fā)的難度比較大 3.時(shí)間戳 在要同步的源表里有時(shí)間戳字段,每當(dāng)數(shù)據(jù)發(fā)生變化,時(shí)間戳?xí)涗洶l(fā)生變化的時(shí)間 優(yōu)點(diǎn):基本不影響業(yè)務(wù)系統(tǒng) 缺點(diǎn):要求源表必須有時(shí)間戳這一列 4.數(shù)據(jù)比較 通過(guò)比較兩邊數(shù)據(jù)源數(shù)據(jù),來(lái)完成數(shù)據(jù)同步。一般用于實(shí)時(shí)性要求不高的場(chǎng)景。 優(yōu)點(diǎn):基本不影響業(yè)務(wù)系統(tǒng) 缺點(diǎn):效率低 5. 全表拷貝 定時(shí)清空目的數(shù)據(jù)源,將源數(shù)據(jù)源的數(shù)據(jù)全盤拷貝到目的數(shù)據(jù)源。一般用于數(shù)據(jù)量不大,實(shí)時(shí)性要求不高的場(chǎng)景。 優(yōu)點(diǎn):基本不影響業(yè)務(wù)系統(tǒng),開(kāi)發(fā)、部署都很簡(jiǎn)單 缺點(diǎn):效率低 總結(jié): 1. 上面五種數(shù)據(jù)同步方式,除了第五種都需要業(yè)務(wù)表有主鍵。 2. 對(duì)于沒(méi)有觸發(fā)器和日志的一些小型數(shù)據(jù)源,如txt 文本,excel 文件,Aceess,則只能使用后三種方式。 3. 對(duì)于大型數(shù)據(jù)源,一般優(yōu)先選擇日志方式,如 ORCALE Asynchronized CDC, 對(duì)于不能通過(guò)日志來(lái)實(shí)現(xiàn)的情況,可以考慮第1,3,4種方式。 |
|
來(lái)自: king9413 > 《數(shù)據(jù)庫(kù)》