Dimensión y hecho para las mismas entidades?

8

Soy bastante nuevo en el diseño de DW y estoy trabajando en un DW para modelar alguna infraestructura de TI.

El principal problema / pregunta en este momento es cómo modelar la información de la unidad.

Recopilaremos datos agregados en archivos y carpetas, y datos separados en unidades físicas. La información de la unidad incluirá un espacio total y libre como mínimo y se actualizará varias veces a la semana.

Una de las preguntas comerciales que deberán responderse es la tendencia del uso del disco a lo largo del tiempo. La información de la unidad también se utilizará en una jerarquía que conduce al nivel de archivo / carpeta también.

Las opciones que puedo ver ahora son:

  1. Implementar DRIVEcomo una dimensión

    • Simplifica el diseño de la jerarquía.
    • ¿Esto causará problemas con los informes? Me parece contrario a la intuición informar datos con límite de tiempo solo en una dimensión
    • También parece problemático tener una dimensión que SABES que cambiará cada vez que actualices tus datos
  2. Implementar DRIVEcomo una tabla de hechos

    • Simplifica la presentación de informes.
    • Jerarquía complicada (?): También la usaré Drivepara asignar datos a un servidor o computadora específicos. ¿Está bien usar una tabla de hechos como nivel intermedio en una jerarquía? No lo creo.
  3. Implementar DRIVEcomo un hecho y una dimensión

    • El hecho contendrá solo la clave, la fecha y los hechos en el espacio
    • Dimension incluirá otros datos no aditivos como en qué computadora está, etc.
    • Parece resolver ambos problemas, pero ¿es esto un antipatrón?
JNK
fuente

Respuestas:

6

Espero tener una tabla de hechos drive_usage con un enlace a una dimensión de tiempo de instantánea, una dimensión de unidad, una dimensión de computadora y los diversos hechos numéricos sobre la unidad en ese instante en el tiempo.

Probablemente no debería haber nada que cambie regularmente en la dimensión de la unidad, supongo que depende de su definición de unidad, ya sea una unidad física o una unidad lógica o qué. Tal vez su unidad "C" tenga un número de serie y se reemplace, entonces la dimensión caducará y se agregará una nueva dimensión. Estas cosas sobre una dimensión no son realmente "hechos", son atributos. Esto no afectaría la presentación de informes porque los datos para la computadora X, la unidad C tienen continuidad. De manera similar, si la computadora X se actualiza de núcleo dual a núcleo cuádruple y, por lo tanto, hay un cambio en la dimensión (suponiendo que algo más allá del número de núcleos no se rastrea en una tabla de hechos, como una revisión de la placa base). La capacidad de una unidad estaría en la tabla de hechos, por lo que los cambios a lo largo del tiempo son solo hechos nuevos con nuevas fechas. A veces, incluso puede modelar cambios en la membresía como hechos. es decir, si las unidades físicas 1-5 están en la unidad lógica C un día y luego las unidades físicas 1-6 están en la unidad lógica C al siguiente, eso podría ser un cambio de hecho en la tabla de hechos de membresía de la unidad física. Esto es lo que algunas personas llaman tablas de hechos sin hechos, ya que el único hecho es que la existencia de la fila muestra membresía: no hay mucho por hacer, excepto sumar o contar.

Cuando ingresa a las carpetas, modelar la jerarquía puede ser mucho más complicado dependiendo de lo que esté tratando de lograr con los paquetes acumulativos.

Hay mucho arte en el modelado de DW en dominios que no son escenarios corrientes.

Cade Roux
fuente