2013-10-29 134 views
2

希望如此,這個問題符合堆棧溢出標準。如何從現有數據庫實際構建數據倉庫?

我很清楚數據倉庫的概念。但是我剛剛在報告工具上工作時,對於實際構建數據倉庫感到困惑。

假設我在Oracle中有一個數據庫,考慮20個表。所以,據我所知,參與DW棟樓的步驟是「做ETL」

但我很困惑着,

1]定義尺寸&事實&它們之間的關係表中的結構方式。

2]如何選擇或實現我想要的模式,說事實星座?

3]我應該如何確定這是維度,這是事實?

4]我應該如何使用代理鍵?

簡而言之,我想從現有數據在我的數據庫中構建數據倉庫。我該怎麼辦?

歡迎您提供答案,點子,參考資料。

+5

Blimey,這是一個廣泛的問題。你可能會比看看一本好書如Ralph Kimball和Margy Ross的「數據倉庫工具包」更糟糕。 –

回答

1

首先,做伊恩說的。

有許多不同的數據倉庫。這裏是一個人的觀點,它不一定是最好的或正確的,但我有幾年的工作經驗,我的成像與你的情況類似(有人說'嘿,讓我們建立一個數據倉庫用於報告和東西)

這裏去

1]維度表 - 查找與信息表,可能隨着時間的推移 事實表改變 - 點時間值/狀態(通常不會尺寸)。通常會包含一堆可彙總的數據字段並鏈接到維度表

產品,人員,組織是維度表的候選人。 銷售,組織結構圖關係,員工計數是事實表的候選人

事實將包含FK鏈接回維表。維度表不應該有任何直接的FK引用到其他表(如果必須,請使用橋接表,但如果嘗試將源系統重建爲維度本身的複製副本,則會有不好的時間..)

2]從您要報告的內容開始,並從那裏開始工作。通常答案是'我們需要報告一切',但最終你會發現。 (我不確定你在這裏問的是什麼)

3]高級別:考慮一個excel中的交叉表圖。如果該字段是列或行標題,那麼它可能是一個維度。如果它是圖表中的一個數字,它可能是一個事實。

4]始終在倉庫中使用自己的代理鍵。 (代理鍵使您能夠在維度表中擁有唯一的主鍵)讓他們對所有人保密,他們僅適用於您的倉庫/數據集市。 [意見]即使他們爲自己的複合PK [/意見],甚至給你的FACT表他們自己的代理鍵。

同樣,我強烈敦促您花更多時間調查DW概念。提出一個強大的內部概念,說明數據倉庫的目標是什麼,以及如何將倉庫與數據集市分開。

考慮花費精力修復您的源系統,以便它們可以生成您之後的輸出。