数据仓库设计,多维度或具有属性的一维?

时间:2013-05-21 14:49:24

标签: sql-server data-warehouse dimensions dimensional-modeling

在数据仓库上工作,我正在寻找关于具有多个维度的建议,而不是在具有属性的大维度上。

我们目前有DimEntity,DimStation,DimZone,DimGroup,DimCompany,并且有多个事实表,其中包含每个维度的键。这是最好的方式,还是只有一个维度DimEntity并将工作站,区域,组和公司作为实体的属性更好?

我们已经使用ETL进行了单独维度的路径,因此不像填充和构建星型模式的工作是一个问题。性能和可维护性非常重要。这些尺寸不会经常变化,因此寻找有关处理此类尺寸的最佳方法的指导。

事实表有超过1亿条记录。实体维度有大约1000条记录,其他列出的记录不到200条。

1 个答案:

答案 0 :(得分:1)

在不知道您的星型模式表定义,数据基数等的情况下,很难给出是或否。这将是一种平衡行为。

对于读取性能,事实表应尽可能细,并且尺寸应尽可能短(低行数)。合并维度通常意味着在维度记录计数增加时,事实表变得更加紧凑。

如果您可以合并维度而不向合并维度添加大量行,则可能值得研究。可能是您可以将低基数维度组合成垃圾维度并实现良好的平衡。不应合并具有高基数属性的维度。

Here's一篇关于维度建模的金博尔大学文章。具体看看他在哪里解决蜈蚣事实表以及他建议如何使用垃圾尺寸。

相关问题