在 ETL 過程中實施數據沿襲的策略/資源?
我在這裡努力表達我的需要。
我的任務是開發一個重要的 ETL 流程,使用完整的 Microsoft Stack 來處理大型雜貨連鎖店中的倉庫項目成本。
我希望能夠為我們的財務團隊和審計人員提供將最終結果追溯到源系統的能力,最好是使用元數據,例如使用了哪些成本計算。
Kimball Group 和 Data Warehouse Toolkit 這本書都暗示了沿襲(子系統 29!),但我發現很少有資源可以幫助指導實際實施。有很多網站表明它很重要,應該考慮數據治理,還有一些網站純粹是學術性的,進入了它的科學領域,但並沒有真正提供實際指導。
對於這個問題,我可能沒有遵循最佳實踐,但我不知道如何表達它。正如我之前所說,我們是完整的 Microsoft Stack,但我對任何資源都持開放態度,即使是其他工具也是如此。
任何和所有的幫助表示讚賞。謝謝你。
Lineage 有時在 ETL 工具中實現,但 Microsoft 堆棧並沒有真正實現。由於您想向最終使用者提供洞察力,因此如果您的開發環境提供這種洞察力,它甚至可能沒有多大幫助。
您可以採取的一種方法,以及我過去成功使用的方法(即使它違反了一些設計原則)是在我的事實表中添加一個欄位,指示事實的來源,然後可以公開通過向下鑽取甚至可能是事實維度。
例如,如果您有一個事實表,它結合了來自 erp 和 CRM 系統的預測,您可以有一個列“factsource”或任何包含這樣的連接欄位的列
sourcesystem|table|primarykey
:sourceid | customer | amount ---------------------------------------------------- CRM|forecast|41 | C001 | 1000 ERP|quotation|6 | C002 | 5000
然後,當使用者使用多維數據集客戶端中的向下鑽取功能或其他一些機制來查看交易背後的事實時,他們可以立即看到 5K 來自 ERP 系統中的報價單 6。
當然,您需要在載入事實表時在 ETL 系統中構造該值。
如果通過“完整的 Microsoft 堆棧”,您指的是本地:
- SQL 伺服器
- SSIS
- SSAS
- SSRS/PowerBI
然後你幾乎必須手動跟踪血統。這些工具都不會幫助你。
他們的雲產品可能有更好的東西。如果您有權訪問他們在 Azure (HDInsight) 上的 Hadoop 發行版,那麼您可以使用Apache Atlas等工具來跟踪數據沿襲。