簡體   English   中英

將數據從生產數據庫移到數據倉庫(SQL Server)

[英]Moving data from production db to datawarehouse (SQL Server)

我們正在為軟件開發一個報告模塊,因此,我們需要將一些數據從系統的生產數據庫移到數據倉庫數據庫中,該數據庫將用作報告(SQL Server報告)的數據源。

生產數據庫中的模式很舊,因此一旦DW DB中有了數據,我們將需要一些其他字段(例如,從prod db的“ date”和“ time”整數列中計算出正確的datetime列。 (不要問,它已經老了。)

我們正在內部討論如何有效地執行此操作。 目前,它是在一項艱苦的SSIS作業中實現的,該作業基本上每天晚上都將整個DW DB拆除,然后從prod db重新構建它,並進行數據轉換。 這不能很好地擴展。

我一直在研究使用“較新的”技術,例如SQL Server復制以更精細的方式移動數據。

我對此的疑問是:-通過復制,“移動數據”部分顯然已解決,但數據轉換部分未解決。 我知道我可以在DW DB上創建更新觸發器,但是每當我對訂閱進行重新初始化時,所有與表相關的觸發器似乎都會被擦除,這使設置變得困難。

我不是在這里尋找確切的答案,而更多是關於采取哪個方向的提示。 抱歉,這個問題有點模糊。

更新:感謝您的以下幾點。 這是我們要出售給客戶的軟件,因此,我非常喜歡為客戶設置和維護盡可能少的“配置項”。 如今的SSIS軟件包是客戶的又一個“項目”,可讓客戶隨時了解其時間表。

復制使我很感興趣,因為它在移動數據時完全消除了整個CRUD的“困境”,但是您可能是對的-只要SSIS邏輯比今天更聰明,SSIS就會更好。

數據可能非常大,因此像我們今天這樣擦除和重新導入所有內容絕對是一個需要解決的問題。

我認為復制不是一個好主意。 可能是源模式和目標模式完全相同,但是正如您所指出的那樣,它們並不相同。 而且,您提到的SSIS所做的所有計算都在做,但您仍將必須這樣做,因為復制不會這樣做。

我認為SSIS是必經之路,這就是它存在的原因。

由於您是在每次加載時重新創建數據庫,並且如果計算和更改的數量不大,並且您不需要執行任何操作來從自然鍵中獲取替代鍵,則可以在主數據庫上創建視圖以嘗試模仿目標數據庫的結構,因此您可以進行直接插入(幾乎是將源組件映射到目標組件)

也許如果您指定要解決的SSIS的真正問題是什么,它會更容易提供幫助。

對此進行快速更新:SQL Server的CDC功能似乎是我們需要研究的功能,該功能與SSIS很好地集成在一起。 感謝您提供有關緩慢更改尺寸和SSIS的提示!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM