2012-10-16 86 views
2

我瞭解事實表背後的邏輯以及它應該包含什麼。我想知道的是如何創建這些事實表。創建事實表

這些事實表可以是一個視圖或命名查詢還是它必須是一個實際的表?做一個或其他方式的優點/缺點是什麼?

+1

我真的不明白你的問題。如果您使用視圖而不是表格,那麼您會在視圖中引用哪些表格?如果您可以在不需要任何數據轉換且不影響性能的情況下運行報表,那麼您不需要數據倉庫。但是,如果您確實需要ETL和與OLTP系統物理分離的星型模式,則必須創建這些表。 – Pondlife

+0

現在的問題是運行關閉實時OLTP數據庫的報告是性能問題。我是數據倉庫的新手,所以我試圖遵循創建一個最佳實踐。從這個意義上說,我正在尋找維度模型,並且這樣做我不明白事實表是否必須是實際的表,因爲將視圖用作事實表將意味着更容易維護我。 – m0g

回答

3

是的,在技術上,事實表可以是一個視圖或命名查詢。

優點

  • :-)
  • 零數據可用性延遲不需要附加的磁盤空間(數據一旦可作爲它被插入到源)

缺點

  • 不規模
  • 慢查詢響應速度(變化的基礎上視圖定義的複雜性)
  • 不結垢
  • 增加了維護的複雜性(這是巨大的BTW)
  • 不結垢
  • 降低靈活性
  • 沒有代理鍵
  • 沒有TYPE2的SCD
  • 索引問題
  • 沒有規模

FWIW - 我用觀點構建了一個小的星圖(3個事實表,10個維度),但它僅僅是爲了概念證明,我強烈反對這個用於生產使用。

+0

這很有道理,非常感謝。現在我只是原型設計,我想我只是使用視圖來讓自己更加熟悉並且便於迭代測試和開發。當我對實際需求是什麼以及如何設置它有信心時,我會繼續並正確創建事實表。 – m0g

+3

不客氣。另外,如果你還沒有,拿起一份數據倉庫工具包......它是DW-(星型模式)模型的聖經。 –