MySQL OLAP 多维数据集中的外部化时间维度?

Posted

技术标签:

【中文标题】MySQL OLAP 多维数据集中的外部化时间维度?【英文标题】:Externalized time dimension in MySQL OLAP cubes? 【发布时间】:2009-12-03 12:08:32 【问题描述】:

将 OLAP 多维数据集的时间维度放在自己的表中似乎是一种常见的做法,就像其他维度一样。

我的问题是:为什么?

我根本看不出拥有(int, timestamp)time_dimension 表在某些time_id 外键上与多维数据集连接有什么好处,而不是在多维数据集中拥有timestamp 列自己。

原则上,时间点是不可变的和恒定的,它们是它们自己的价值。我发现人们不太可能想要更改给定 time_id 的关联值。

此外,timestamp 列类型是 4 字节宽(在 mysql 中),int 类型也是如此,否则通常是键,因此也不能节省空间。

在与我的同事讨论这个问题时,我能够提出的唯一合理的论点是与其他维度的一致性。但我觉得这个论点相当薄弱。

【问题讨论】:

【参考方案1】:

我认为这通常是因为时间维度表包含许多列,例如周/月/年/季度,这允许更快地查询以获取特定季度的所有 X。

鉴于大多数 OLAP 多维数据集都是为了随着时间的推移而获取查询,这对我来说很有意义。

【讨论】:

【参考方案2】:

Paddy 是正确的,时间维度包含时间原语的有用“别名”。您可以捕获有关日期本身的有用信息,例如季度、国定假日等。您可以通过这种方式编写更快的查询,因为无需在查询中对每个假日进行编码。

【讨论】:

以上是关于MySQL OLAP 多维数据集中的外部化时间维度?的主要内容,如果未能解决你的问题,请参考以下文章

在 Excel 中的 OLAP 多维数据集中搜索

OLAP 多维数据集:具有多个父项的父子维度

OLAP 多维数据集 - 上次读取/访问维度时

如何为 OLAP 多维数据集部署 Oracle 维度表

无法使 ConvertToUnknown 维度在 SSAS OLAP 多维数据集上工作

将破坏 OLAP 多维数据集的字符列表