2
我需要一些有關我的設計的專家意見,以獲取每日增量提取。我使用的是SQL 2008 R2,並且我有一個體面的大小DB,接近100萬人的記錄及其所有屬性和與另一個人角色的關係。ETL增量提取最佳實踐
我想要做的兩件事情(至少目前)
- 消費者想要的東西在一個平面文件改變(新/更新)轉儲
- 另一位消費者只希望在一個新的數據平面文件(不同格式)。
基於這些要求,似乎只有一件事是常見的,他們都希望「今天發生了什麼變化」。因此,這裏是我的方法:
- 創建一個表名和LastExtractDateTime控制表的兩列
- 上的所有transacational創建幾乎每一個領域的所有消費者需要
- 階段表我有CreatedDate和LastModifiedDate表。
- 每天,我們假設在下午10點,填充舞臺(一個專用的SSIS包),並更改其中的內容。用於提取所有日期大於Control.LastExtractDateTime列中日期的所有新數據(基於CreatedDate)和所有更改數據(基於LastModifiedDate)的存儲過程
- 成功提取階段數據後,使用current更新Control.LastExtractDateTime日期。
- 揭開序幕,在此基礎上一個成功與否的其他SSIS包(我們有一個自定義調度)
請評論。謝謝。
你可能會考慮利用變化跟蹤跟蹤您的更改,然後轉移到臨時表。更改跟蹤將監控所有更改是否有日期修改字段。我們在過程中多次運行我們的過程,因爲它使用變更跟蹤表來獲取變更,所以對產品表的影響較小。更改跟蹤在prod表格中設置簡單。 – HLGEM 2014-09-25 19:03:42