簡體   English   中英

OLAP 數據倉庫 - 作為多個或單個字段的復合主鍵

[英]OLAP Data Warehouse - composite primary key as multiple or single fields

我正在構建一個數據倉庫,數據的質量可能需要 8 個字段來唯一標識一條記錄,這適用於三個表,每個表每年都有幾百萬行數據。 都是0NF。

顯然每種情況都是獨一無二的,但考慮到數據倉庫的目的是用於 OLAP,我認為創建一個列作為主鍵而不是 8 個單獨字段的復合主鍵會更好嗎? 作為 ETL 管道的一部分,將字段連接到一個額外的列中很簡單。

我很欣賞冗余增加了存儲需求,我們每年談論數百萬行,但我猜它會顯着提高查詢性能? 如果數據是在 BI 工具中建模的,還可以減少內存需求嗎?

有人可以就此給我任何一般性的想法或建議嗎?

下面是一些完全虛構的模擬數據。 例如,我需要將訂單表添加到裝運表以獲取訂單的發貨地,或者將訂單表添加到裝運表以計算裝運數量的總和。

我不認為規范化表格是可行的方法,因為我在這里使用的所有四個列都可能會發生變化,並且只有將它們組合起來才能形成用於唯一裝運的可靠密鑰。

因此,數據是根據班次日期批量刪除/插入的。

![在此處輸入圖片描述

謝謝!

菲爾。

那些看起來像事實表。 在維度模型中,只有維度表需要單列鍵。 事實表通常具有由定義事實表粒度的維度外鍵組成的復合鍵。

暫無
暫無

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

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