2016-02-29 91 views
0

即時尋找一些尺寸建模的指導。 我正在查看以星型模式存儲在數據庫中的一些搜索數據。查詢有一個維度,登錄頁面有一個維度。兩個維都有一個代理鍵,它們作爲外鍵存儲在事實表中。帶兩個代理鍵或兩個單獨尺寸的尺寸?

事實表有大約100萬行和每個維度具有約10萬行。

由於這些表的連接正在很長最近我想知道如果這將是兩個維度組合成一個,因此只能連接到一個表是一個好主意。這兩個維度是M:N,所以新維度將非常龐大。

謝謝!

回答

0

沒有一個「正確」的答案你的問題不知道更多關於你的數據(比如你有你的事實表?多個維度如何查詢和着陸頁的多種組合,你呢?),但很少評論:

  • 您目前的設計(什麼我可以從這裏瞭解)也不錯,你有大量的數據,你必須處理它,但組合兩個維度有100K元素,以避免加入似乎並不正確,以我

  • 嘗試優化您的查詢,建立索引,如果你沒有他們,並行化查詢(如果您[R數據庫引擎允許你這樣做),儘量避免like在你那裏如果可能的話,最後的資源想更多的硬件或不同的數據庫引擎。

  • 如果你平時的查詢只使用這些維度之一,也許你可以考慮一下彙總表,以減少行數,你會使用更多的空間,但您的查詢將有一個連接和一個較小的事實表

  • 可以查詢是登陸頁面的子項嗎? (即stackoverflow.com像「大師沉思錯誤信息」和「stackcareers.com」查詢父「池男孩datalake就業」的母公司)當然你會與多個目標網頁相同的查詢結束,您需要在這種情況下分配不同的外鍵。但是,這種不同的模式可能導致不同的解決方案,您將只有1:M關係,並且可以通過着陸頁維度構建聚合表,但這需要更改查詢以提取數據。又一次我不知道你的數據,也許它將使登陸頁面更有意義查詢父...

同樣,這只是我的「想法」無解。