我已經在幾個應用程序上工作過,並與其他開發人員討論過有關數據倉庫的幾個細節。如何遞增填充數據倉庫?
我看到的主要問題是關於操作數據存儲中的更改數據檢測(CDC)。 更新和硬刪除顯然可能很難在操作數據存儲中檢測到。
可以通過在EVERY表上插入觸發器來處理更新,該觸發器會使用當前時間戳自動更新updated_at列。儘管刪除更困難 - 一種解決方法是在觸發器中更新一個刪除了id的審計表,一張表和一個時間戳。
使用觸發器似乎是最合理的方式來執行更改數據檢測,但我已經看到的另一個選項是解析數據庫事務日誌文件,雖然這可能會更難以更新操作數據存儲數據庫。
我的問題是,人們通常如何處理這個問題?我已經做了相當多的研究,看起來好像很多做數據倉庫的公司正在推出他們自己的次優解決方案。
我發現避免與CDC相關的問題的另一種解決方案是每隔一段時間簡單重建一次ENTIRE(或與源數據相關的部分)數據倉庫,這將確保所有數據是最新的並且在操作數據存儲上執行CDC的代碼中沒有任何錯誤。
作爲附錄:解析ODS日誌文件通常是主要ETL供應商中的CDC工具所做的工作。解析日誌並不是一件容易的事,我會推薦我提到的觸發器或其他方法。 –
很好的回答ñ西! –