数据仓库中事实表的复合索引 - 数据集市

Posted

技术标签:

【中文标题】数据仓库中事实表的复合索引 - 数据集市【英文标题】:Composite indexes on fact tables in a data warehouse - datamart 【发布时间】:2014-01-26 20:38:13 【问题描述】:

在 Oracle EDW 中的事实表上保留复合唯一索引是否是一种最佳实践 - 避免重复的数据集市?它会影响 ETL 数据加载性能吗?请提供您对此主题的看法。获得 ETL 负载的 SLA 的其他替代方法是什么?

【问题讨论】:

【参考方案1】:

每次插入到具有索引的表中都会导致该索引被更新,从而导致 IO 并减慢它的速度。因此,无论是否唯一加载到具有索引的表中都会慢一些。您可以删除该索引,加载然后再次创建它。它将减少索引碎片,通常在大负载下会更快。

我很惊讶在事实表上看到唯一索引。通常那里不需要那么多唯一性,而且通常数据仓库会非规范化和复制数据。

这一切都取决于你的情况。如果您可以使用 ETL 来避免不希望的重复,请执行此操作而不是使用索引。如果唯一目的是数据完整性/一致性,请不要创建此索引。索引变得很大,因此它们更好地对您的查询有用。

【讨论】:

以上是关于数据仓库中事实表的复合索引 - 数据集市的主要内容,如果未能解决你的问题,请参考以下文章

数据仓库设计

第二篇:数据仓库与数据集市建模

处理数据集市/仓库中的时区

数据仓库,数据集市建模

数据仓库中的几种模型

数据仓库设计