为啥Dimension和Cube的存储方式可以不同?

Posted

技术标签:

【中文标题】为啥Dimension和Cube的存储方式可以不同?【英文标题】:Why can the storage mode of dimension and cube be different?为什么Dimension和Cube的存储方式可以不同? 【发布时间】:2019-12-15 12:08:57 【问题描述】:

我了解 MOLAP 是在多维结构中组织和预先计算您的数据。每个维度是一个轴,聚合度量存储在每个小空间中。 ROLAP 是直接从底层关系数据库中查询数据。

如标题所述,用户可以同时将维度存储模式设置为MOLAP立方体的存储模式设置为ROLAP。 SSAS 如何处理这种情况?

如果聚合(预计算)只包含维度数据而不包含事实表中的度量,它如何提高查询性能?

【问题讨论】:

【参考方案1】:

如果您的 dim 数据(包括主键)已经在内存中,则无需查询 dims 来确定父代、后代、填充级别等。

此外,仅从事实表中检索少数几个暗键的查询可以仅在从事实表中选择时执行,而无需连接到维度。您直接过滤 fk 值。

它不会解决所有性能问题,但会大大简化许多常见的查询,否则您需要加入多个 dims。即使减少 1 或 2 中的连接数也会产生影响。

【讨论】:

以上是关于为啥Dimension和Cube的存储方式可以不同?的主要内容,如果未能解决你的问题,请参考以下文章

数据仓库基础介绍

数据仓库基础介绍

SSAS CUBE 2 个事实表和 1 个维度

为啥 netCDF4 文件大小与写入方式如此不同?

为啥Linux不需要磁盘碎片整理 –

[BZOJ1976][BeiJing2010组队]能量魔方 Cube