时间维度和毫秒

Posted

技术标签:

【中文标题】时间维度和毫秒【英文标题】:time dimension and milliseconds 【发布时间】:2013-11-07 11:56:31 【问题描述】:

我在设计时间维度时处于两难境地,我不确定是否应该在时间维度中包含毫秒或为毫秒粒度创建维度。

我可以看到在时间维度内包含毫秒粒度的优点和缺点。

优点:

直接在维度键上执行计算(日期和时间维度是唯一允许在其中包含任何智能的数据仓库)。事实表的目的是衡量响应时间

缺点:

时间维度变大,我可能会失去查询性能。

其他重要信息:

营销人员告诉我,每月预计会有 5000 万个事实(我们知道它们是怎样的,我应该准备好更多) 事实将以非累加方式汇总,即:我想要服务质量度量:平均(半累加)、中位数、百分位数。 每个事实都有 12 个时间检查点。

【问题讨论】:

我会包含毫秒粒度,并使用聚合表来改进较慢时间维度上的查询。 一年有300亿毫秒。如果您不分开,您将拥有一个很大的维度(可能与事实表中的行一样多) @momobo 我认为有点明显我的问题是在时间维度中包含毫秒颗粒,而不是在日期维度中包含毫秒...... @GilbertLeBlanc 我在考虑进行天聚合,问题开始时事实不是相加的,聚合几乎不能用于进一步的聚合。 在不了解您的事实表的情况下,我无法提出更多建议。我知道您的服务质量衡量标准不可汇总,但可能可以预先计算一天或其他时间衡量标准。 【参考方案1】:

我认为这种维度数据分离可以减小维度表的大小,它应该是, 相对示例是您可以将 dimDate 和 dimTime 分开,尽管您可以将它们放在一起,但如果不是,它将创建一个大维度表, 现在我认为一个实用的解决方案是将dimMilisecond与dimTime分开,并且bcs它只包含一个文件,您只能将其添加到您的事实中而无需创建物理dimMilisecond,它将是您的事实表中的一种退化维度属性(DDA)。

问候。

【讨论】:

以上是关于时间维度和毫秒的主要内容,如果未能解决你的问题,请参考以下文章

旋转门数据压缩算法在PostgreSQL中的实现 -

在Android中将日期和时间转换为毫秒

从毫秒到小时、分钟、秒和毫秒

时间的换算单位是怎么换算的啊,秒,毫秒,微妙,纳秒等

如何在 iOS/XCode 中将毫秒时间戳转换为日期和时间?

31-矩阵相乘