同一实体的维度和事实?


8

我是DW设计的新手,正在研究DW以对某些IT基础结构进行建模。

此时的主要问题/问题是如何对驱动器信息进行建模。

我们将在文件和文件夹上收集汇总数据,并在物理驱动器上收集单独的数据。驱动器信息将至少包括总空间和可用空间,并将每周更新几次。

需要回答的业务问题之一是驱动器使用率随时间变化的趋势。该驱动器信息还将用于向下到文件/文件夹级别的层次结构中。

我现在可以看到的选项是:

  1. 实施DRIVE为维度

    • 简化层次结构设计
    • 这会导致报告问题吗?仅在一个维度上报告有时间限制的数据对我来说似乎违反直觉
    • 拥有一个维度,每次刷新数据时您都会知道,这似乎也有问题
  2. 实施DRIVE为事实表

    • 简化报告
    • 使层次结构复杂化(?)-我还将Drive用来将数据映射回特定的服务器或计算机。可以将事实表用作层次结构中的中间级别吗?我认为不是。
  3. 实施DRIVE既是事实和维度

    • 事实将只包含密钥,日期和空间事实
    • 维度将包括其他非累加数据,例如所用的计算机等。
    • 似乎可以解决这两个问题,但这是一种反模式吗?

Answers:


6

我希望我有一个drive_usage事实表,该表具有指向快照时间维度,驱动器维度,计算机维度以及该时刻的有关驱动器的各种数值事实的链接。

驱动器尺寸可能应该没有什么规律的变化-我猜这取决于您对驱动器的定义-它是物理驱动器还是逻辑单元或其他内容。也许您的“ C”驱动器具有序列号,并且已被替换-尺寸将到期,并添加新尺寸。这些关于维度的东西并不是真正的“事实”,而是属性。这不会影响报告,因为计算机X驱动器C的数据具有连续性。类似地,如果计算机X从双核升级到四核,因此尺寸发生了变化(假设事实表中未跟踪超过核数的内容,例如母板修订版)。驱动器的容量将在事实表中,因此随时间的变化只是带有新日期的新事实。有时,您甚至可以将对成员资格的更改建模为事实。即,如果物理驱动器1-5有一天在逻辑驱动器C中,然后物理驱动器1-6在第二天在逻辑驱动器C中,则可能只是物理驱动器成员资格事实表中的事实更改。这些就是某些人所谓的事实事实表,因为唯一的事实是该行的存在表明成员资格-除了累加或计数之外,没有什么其他要做的事情。

当您进入文件夹时,对层次结构进行建模可能要复杂得多,具体取决于要通过汇总实现的目标。

在非常规场景中,DW建模有很多技巧。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.