資料實時同步中的一種特殊場景說明及處理方法

2022-10-09 05:54:11 字數 1254 閱讀 5259

資料實時同步簡要介紹:

資料同步或資料整合一般選用兩類技術或工具,即:

1、etl(extract-transform-load)工具,它是將資料從源系統載入到資料倉儲的過程。用來描述將資料從**端經過萃取(extract)、轉置(transform)、載入(load)至目的端的過程。

2、cdc工具,全稱change data capture,變更資料捕捉,從資料庫內部捕捉變更資料,將變更資料推送到推送到目的庫中。cdc機制速度極快,資料精準,且與應用程式耦合少,可抽象脫離業務系統。

實時同步場景中因對資料的實時性要求較高,所以一般選用cdc工具。

特殊場景說明:

普通場景下,使用cdc工具解析源庫日誌資訊,實時同步源庫資料到目的地,如下圖所示:

但在一些特定業務場景中,為盡量減輕主資料庫業務壓力,一般設定乙個備資料庫,定期將主資料庫中超過一定期限的資料遷移到備資料庫中。備份時先將主資料庫中超過一定期限未更新的資料複製到備資料庫中,再將主庫中已複製的資料刪除。如下圖所示:

類似以上既有主庫也有備庫的情況,若要做資料的實時同步,則主庫和備庫都需要將資料實時同步到目的地,避免因為主庫的備份動作導致目的端資料誤刪、重複等與源端產生不一致,如下圖所示:

這種情景下,主庫、備庫的表名、欄位名完全一致,目的庫需要正確識別同步資料**於主庫還是備庫,並分類處理,保證目的庫中資料與源端資料一致。以下介紹一種解決此類需求的方式。

主備庫同時進行資料同步時的解決方案:

使用cdc工具進行資料同步時,為了便於目的端處理,需要在原始資料的基礎上新增一些擴充套件字段,如原表名、操作型別、時間戳等,如下圖所示:

為了解決上述源庫有主備的情況,可在以上擴充套件欄位的基礎上再增加乙個擴充套件字段,如優先順序字段,規定若源庫為主資料庫,優先順序字段值為「100」,若源庫為備資料庫,優先順序字段值為「200」,則目的端在處理來自源端同步過來的資料時,在原處理基礎上增加以下處理邏輯:

本文由華為雲發布。

本文由華為雲發布。

oracle 一種簡單的資料同步方式

在兩個oracle資料庫之間資料同步是乙個常見的需求,比如同乙個開發商開發了hr系統和其他各類業務系統,而各類業務系統如需共享hr人員資訊與及組織機構等基本資訊,可採用資料同步 當然不同的開發商的系統之間或者大型系統也可以開發webservice介面。基於spring框架還可以使用httpinvok...

一種中心服務中同步狀態的方法

在客戶端中心化服務 單例 中,可能會多次進行同乙個耗時服務,比如說和服務端同步狀態。在進行同步時,如果有請求進來,理論上是不需要真正執行的,僅需要等待正在進行的請求。其實是乙個時序的問題,如果請求發起比獲得結果要早,就可以直接使用結果。那麼,中心服務中使用threadlocal儲存一下發起請求的時機...

區域網中Linux主機之間同步時間的一種簡便方法

幾天在實驗室用淘汰的pc搭了乙個8個節點的小集群做hama的實驗,從重新組裝硬體到裝系統 配置集群,忙了兩天,滿身都是灰。安裝集群時,經常需要同步各個節點之間的系統時間,例如hbase集群中,過大的時間差可能會導致詭異的問題 對於幾個節點的小集群,可以用ntp network time protoc...