亚洲精品久久久久久第一页-人妻少妇精彩视品一区二区三区-91国产自拍免费视频-免费一级a在线播放视频正片-少妇天天日天天射天天爽-国产大屁股喷水视频在线观看-操美女骚穴抽插性爱视频-亚洲 欧美 中文字幕 丝袜-成人免费无码片在线观看

它是如何工作的? cdc是什么意思?( 二 )


  • 容易出錯 , 并可能導(dǎo)致數(shù)據(jù)出現(xiàn)一致性問題 。
  • 表的差異與增量 這種CDC方法使用諸如:表增量(table delta)之類的實用程序 , 或tablediff , 去比較兩個表中的數(shù)據(jù) , 以發(fā)現(xiàn)不匹配的行 。據(jù)此 , 您可以使用其他的腳本 , 將源表的差異同步到目標表上 。
    雖然該方法在管理已刪除行的方面 , 比時間戳CDC的效果更好 , 但是它在發(fā)現(xiàn)差異時 , 所需要的CPU資源較為顯著 。而且此類開銷會隨著數(shù)據(jù)數(shù)量的增加 , 而呈線性增加 。此外 , 針對源數(shù)據(jù)庫或生產(chǎn)環(huán)境的分析查詢 , 也可能會降低應(yīng)用本身的性能 。對此 , 您可以定期將數(shù)據(jù)庫導(dǎo)出至?xí)捍姝h(huán)境中進行比較 。不過 , 隨著數(shù)據(jù)量的增加 , 此類傳輸?shù)某杀疽矔手笖?shù)級增長 。
    表差異的另一個問題是 , 它無法捕獲數(shù)據(jù)的臨時性變更 。例如 , 假設(shè)有人更新了某個字段 , 但隨后又將其變更回了原始值 。那么 , 如果您只是運行一個簡單比較的話 , 將無法捕獲到這個變更事件 。而由于diff方法本身存在著延遲 , 因此也無法實時執(zhí)行 。
    優(yōu)點:
    • 可使用各種原生的SQL腳本 , 來獲取變更數(shù)據(jù)的準確視圖 。
    缺點:
    • 由于此方法會用到數(shù)據(jù)源的三個副本:原始數(shù)據(jù)、先前快照和當前快照 , 因此整體存儲需求會有所增加 。
    • 在那些具有繁重事務(wù)負載的應(yīng)用程序中 , 無法得到很好的擴展 。
    注意:表差異和時間戳CDC方法 , 都不適用于真實的生產(chǎn)環(huán)境 。因此對于大型數(shù)據(jù)集 , 我建議您使用如下兩種CDC方法 。其實 , 基于觸發(fā)器和事務(wù)日志的變更數(shù)據(jù)跟蹤方法 , 只是出于相同目的的兩種不同的服務(wù)方式 。
    基于觸發(fā)器的CDC
    它是如何工作的? cdc是什么意思?

    文章插圖


    • 我們需要為參與數(shù)據(jù)復(fù)制的每個表 , 創(chuàng)建三個觸發(fā)器 , 當數(shù)據(jù)記錄發(fā)生如下特定事件時 , 則會觸發(fā)相應(yīng)的操作:
    1. 將新的記錄插入數(shù)據(jù)表時 , 觸發(fā)的是INSERT觸發(fā)器 。
    2. 數(shù)據(jù)記錄發(fā)生變更時 , 觸發(fā)的是UPDATE觸發(fā)器 。
    3. 數(shù)據(jù)記錄被刪除時 , 觸發(fā)的是DELETE觸發(fā)器 。
    • “事件歷史”的影子表被存儲在數(shù)據(jù)庫本身 , 并由各種狀態(tài)改變事件的序列所組成 。
    • 每當對象的狀態(tài)發(fā)生變化時 , 新的事件都會被附加到該序列中 。據(jù)此 , 有關(guān)變更記錄的信息 , 也會被轉(zhuǎn)移到“事件歷史”的影子表中 。
    • 最后 , 根據(jù)歷史表中的各個事件 , 變更會被傳輸?shù)侥繕藬?shù)據(jù)庫中 。
    下面展示了一個簡單的歷史表:
    它是如何工作的? cdc是什么意思?

    文章插圖


    由于源數(shù)據(jù)庫中的每個表都需要一個觸發(fā)器 , 因此在有變更發(fā)生時 , 在操作表上運行觸發(fā)器的開銷也會隨之增加 。不過 , 由于基于觸發(fā)器的CDC是工作在SQL級別上的 , 因此許多用戶會趨向于使用該方法 。
    優(yōu)點:
    • 非??煽壳以敱M 。
    • 影子表可以提供所有事務(wù)的不可變詳細日志 。
    缺點: