OBIEE – 架構模式



架構模式是對整個資料庫的邏輯描述。它包括所有型別記錄的名稱和描述,包括所有關聯的資料項和聚合。與資料庫類似,資料倉庫也需要維護架構模式。資料庫使用關係模型,而資料倉庫使用星型、雪花形和事實星座架構模式(星系架構模式)。

星型架構模式

在星型架構模式中,有多個以非規範化形式存在的維度表,它們只連線到一個事實表。這些表以邏輯方式連線,以滿足某些用於分析目的的業務需求。這些架構模式是多維結構,用於使用 BI 報表工具建立報表。

星型架構模式中的維度包含一組屬性,而事實表包含所有維度和度量值的外部鍵。

Star Schema

在上面的星型架構模式中,中間有一個事實表“銷售事實”,並使用主鍵連線到 4 個維度表。維度表沒有進一步規範化,這種表的連線在資料倉庫中被稱為星型架構模式。

事實表還包含度量值 - 銷售額和銷售數量。

雪花形架構模式

在雪花形架構模式中,有多個以規範化形式存在的維度表,它們只連線到一個事實表。這些表以邏輯方式連線,以滿足某些用於分析目的的業務需求。

星型架構模式和雪花形架構模式之間的唯一區別在於維度表是否進一步規範化。規範化將資料拆分為其他表。由於雪花形架構模式中的規範化,資料冗餘減少了,而不會丟失任何資訊,因此易於維護並節省儲存空間。

Snowflakes Schema

在上面的雪花形架構模式示例中,產品和客戶表進一步規範化以節省儲存空間。有時,當您執行需要直接在規範化表中處理行的查詢時,它還會提供效能最佳化,因此它不會處理主維度表中的行,而是直接進入架構模式中的規範化表。

粒度

表中的粒度表示儲存在表中的資訊級別。高粒度資料意味著資料處於或接近事務級別,具有更多細節。低粒度意味著資料的資訊級別較低。

事實表通常設計為低粒度級別。這意味著我們需要找到可以儲存在事實表中的最低資訊級別。在日期維度中,粒度級別可以是年、月、季度、期間、周和日。

定義粒度的過程包括兩個步驟 -

  • 確定要包含的維度。
  • 確定放置每個維度資訊層次結構的位置。

緩慢變化維度

緩慢變化維度指的是屬性值隨時間變化。它是資料倉庫中的常見概念之一。

示例

Andy 是 XYZ Inc. 的員工。他於 2015 年 7 月首次在紐約市工作。員工查詢表中的原始條目具有以下記錄 -

員工 ID 10001
姓名 Andy
位置 紐約

在之後的某個日期,他搬到了加利福尼亞州洛杉磯。XYZ Inc. 現在應該如何修改其員工表以反映此更改?

這被稱為“緩慢變化維度”概念。

有三種方法可以解決此類問題 -

解決方案 1

新記錄替換原始記錄。舊記錄沒有痕跡。

緩慢變化維度,新資訊只需覆蓋原始資訊。換句話說,不保留歷史記錄。

員工 ID 10001
姓名 Andy
位置 加利福尼亞州洛杉磯
  • 優點 - 這是處理緩慢變化維度問題的最簡單方法,因為無需跟蹤舊資訊。

  • 缺點 - 所有歷史資訊都會丟失。

  • 用途 - 當資料倉庫不需要跟蹤歷史資訊時,應使用解決方案 1。

解決方案 2

在員工維度表中輸入新記錄。因此,員工 Andy 被視為兩個人。

向表中新增新記錄以表示新資訊,並且原始記錄和新記錄都將存在。新記錄獲得自己的主鍵,如下所示 -

員工 ID 10001 10002
姓名 Andy Andy
位置 紐約 加利福尼亞州洛杉磯
  • 優點 - 此方法允許我們儲存所有歷史資訊。

  • 缺點 - 表的大小增長更快。當表的行數非常多時,空間和表的效能可能成為問題。

  • 用途 - 當資料倉庫需要保留歷史資料時,應使用解決方案 2。

解決方案 3

修改員工維度中的原始記錄以反映更改。

將有兩列指示特定屬性,一列指示原始值,另一列指示新值。還將有一列指示當前值何時生效。

員工 ID 姓名 原始位置 新位置 搬遷日期
10001 Andy 紐約 加利福尼亞州洛杉磯 2015 年 7 月
  • 優點 - 由於更新了新資訊,因此不會增加表的大小。這使我們能夠保留歷史資訊。

  • 缺點 - 當屬性值更改多次時,此方法不會保留所有歷史記錄。

  • 用途 - 僅當資料倉庫需要保留歷史更改資訊時,才應使用解決方案 3。

規範化

規範化是將表分解成較少冗餘的較小表的過程,而不會丟失任何資訊。因此,資料庫規範化是組織資料庫的屬性和表的過程,以最大程度地減少資料冗餘(重複資料)。

規範化的目的

  • 它用於消除某些型別的資料(冗餘/複製)以提高一致性。

  • 它透過使與物件型別對應的表保持其簡化形式,提供了最大的靈活性來滿足未來的資訊需求。

  • 它生成更清晰易讀的資料模型。

優點

  • 資料完整性。
  • 增強資料一致性。
  • 減少資料冗餘和所需的空間。
  • 降低更新成本。
  • 在響應臨時查詢方面具有最大的靈活性。
  • 減少每個塊的總行數。

缺點

資料庫查詢效能緩慢,因為必須執行聯接以從多個規範化表中檢索相關資料。

您必須瞭解資料模型才能在多個表之間執行正確的聯接。

示例

Purpose of Normalization

在上面的示例中,綠色塊內的表表示紅色塊內表的規範化表。綠色塊中的表冗餘度較低,並且行數也較少,而不會丟失任何資訊。

廣告

© . All rights reserved.