閱讀804 返回首頁    go 阿裏雲 go 技術社區[雲棲]


kettle數據同步的五種方案

數據同步:當數據源發生改變時,其他相關數據也跟著發展變化。根據需求不同可采取以下方案。

1.觸發器

在數據庫建立增刪改的觸發器。觸發器將變更放到一張臨時表裏。oracle同步cdc

優點:實時同步
缺點:影響到業務係統,因為需要在業務係統建立觸發器

2.日誌

通過分析源數據庫日誌,來獲得源數據庫中的變化的數據。oracle異步cdc

優點:不影響業務係統
缺點:有一定得延時,對於沒有提供日誌分析接口的數據源,開發的難度比較大

3.時間戳

在要同步的源表裏有時間戳字段,每當數據發生變化,時間戳會記錄發生變化的時間

優點:基本不影響業務係統
缺點:要求源表必須有時間戳這一列

4.數據比較

通過比較兩邊數據源數據,來完成數據同步。一般用於實時性要求不高的場景。

優點:基本不影響業務係統
缺點:效率低

5. 全表拷貝

定時清空目的數據源,將源數據源的數據全盤拷貝到目的數據源。一般用於數據量不大,實時性要求不高的場景。

優點:基本不影響業務係統,開發、部署都很簡單
缺點:效率低
總結:
1. 上麵五種數據同步方式,除了第五種都需要業務表有主鍵。
2. 對於沒有觸發器和日誌的一些小型數據源,如txt 文本,excel 文件,Aceess,則隻能使用後三種方式。
3. 對於大型數據源,一般優先選擇日誌方式,如 ORCALE Asynchronized CDC, 對於不能通過日誌來實現的情況,可以考慮第1,3,4種方式。

最後更新:2017-04-03 16:49:03

  上一篇:go C#生產者與消費者問題(二)
  下一篇:go 隨感而發