10 Reglas Esenciales para el Modelado Dimensional

Regla 1: En una estructura dimensional se deben cargar los datos con el mayor nivel de detalle posible.

Llenar los modelos dimensionales con el mayor nivel de datalle posible nos debería ayudar a soportar filtros y agrupaciones inpredecibles requeridas por el usuario. Por lo general los usuarios no necesitan ver la información linea por linea, pero no se puede predecir las diferentes formas en que quedrán navegar y rotar la información. Si sólo hay disponible información sumarizada, uno puede estar asumiendo un modelo que cuando el usuario quiera ir a un nivel de profundidas mayor, no le resultará útil. Por supuesto que el detalle atómico puede y debe ser complementado con modelos sumarizados para ganar eficiencia.

Regla 2: Estructurar los modelos dimensionales en torno a los procesos de negocio.

Los procesos de negocio son las actividades realizadas por la organización; los mismos representan eventos medibles, como tomar un pedido o facturarle a un cliente. Los procesos de negocios usualmente capturan o generan métricas de eficiencia asociadas con cada evento. Las métricas de tranforman en hechos, con cada proceso de negocio representado por una tabla de hechos. Además de las tablas de hechos de procesos únicos, a veces son creadas tablas de hechos consolidadas que combinan metricas de varios procesos en una tabla de hecho con un nivel común de granularidad para todas. Pero recordemos que las tablas de hechos consolidadas son un complemento a las detalladas, pero no las sustituyen.

Regla 3: Asegurse de que toda tabla de hechos tiene una tabla de dimensión tiempo asociada.

Los eventos mencionados en la regla 2 siempre están asociados a una fecha cierta, ya sea que se trate de un balance mensual o una transacción monetaria. Toda tabla de hechos siempre debe tener al menos una foreign key a una tabla de dimensión tiempo, cuya granularidad es la fecha única en que ocurrió el evento.

Regla 4: Asegurarsde que todos los hechos que están en una misma fact tengan el mismo nivel de granularidad.

Todas las medidas de una tabla de hechos deben estar al mismo nivel de detalle. Cuando uno mezcla hechos de diferentes niveles de granularidad en la misma tabla de hechos, se está llevando al usuario a aconfundirse y a hacer que las aplicaciones de BI arrojen resultados erroneos

Regla 5: Resolver las relaciones muchos a muchos en las tablas de hechos.

Partiendo de la base de que una tabla de hechos guarda los resultados de los eventos de un proceso de negocio, es muy probable que haya alguna relación del tipo muchos a muchos (M:M) vinculada entre sus foreign keys, como por ejemplo productos vendidos en múltiples negocios en múltiples días. Estos campos de las foreign key nunca deberían ser nulos. A veces las dimensiones puden asumir múltiples valores para un hecho único, tal como muchos diagnósticos asociados con una consulta médica. En estos casos no es razonable resolver la dimensión de varios valores directamente en la tabla de hechos. Esto violaría la granularidad natural del hecho. Así, usaremos una relación muchos a muchos, con una tabla puente de clave doble en conjunto con la tabla de hechos.

Regla 6: Dimensiones con relaciones muchos a uno

Por lo general este tipo de relaciones se suelen desnormalizar y aplanar en una tabla. Si usted se ha dedicado mucho tiempo a modelar sistemas transaccionales, evite tentarse a normalizar este tipo de dimensiones o modelarlas como copo de nieve (snowflake). Es muy común tener varias relaciones 1:M resueltas en una sola tabla de dimensión. Relaciones del tipo 1:1, como la descripción de un producto relacionada con el código del mismo, son también resueltas de esta forma.

Regla 7: Guarde en tablas de dimensiones aquellos atributos que utilizará como etiquetas o filtros de informes

Todo tipo de atributos que crea que vaya a utilizar como etiquetas de reportes o como filtro de reportes guárdelos un tablas de dimensiones, y no en la tabla de hechos. Es aconsejable evitar valores nulos para los atributos de una tabla de dimensión, para estos casos complete los atributos nulos con el valor “NA” (Not Applicable), o algún otro valor por defecto.

Regla 8: Asegúrese que las dimensiones utilicen claves sustitutas (Surrogate Key)

La utilización de este tipo de claves nos darán una serie de beneficios como claves mas pequeñas, con lo cual las tablas de hechos serán más pequeñas, así como los índices utilizados. generando mejor performance. El uso de surrogate keys será útil si quiere hacer un seguimiento de los cambios de los atributos de la dimensión. También permiten mapear códigos de diferentes fuentes operacionales, y además, nos protegen de cambios inesperados en los sistemas transaccionales, como la recodificación de tablas maestras, reciclado de códigos de productos que ya no existen, entre otros.

Regla 9: Cree dimensiones conformadas para integrar datos a lo largo de la empresa

Las dimensiones conformadas son esenciales para un Data Warehouse corporativo. Administradas una sola vez en el ETL y utilizada en varias tablas de hechos, estas dimensiones proporcionan atributos consistentes a lo largo de diferentes modelos dimensionales y permiten hacer drill-across e integrar información de diferentes procesos de negocios. La reutilización de las dimensiones conformadas reduce el tiempo de salida al mercado mediante la eliminación de diseño redundante, sin embargo, estas dimensiones requerirán invertir en una buena administración de datos y en un modelo de gobernanza para las mismas.

Regla 10: Balancear los requerimientos de los usuarios con los cambios a realizar en los modelos dimensionales.

Los modelos dimensionales se extienden constantemente como consecuencia de los requerimientos que hace el negocio. Como encargado de mantener los diferentes modelos dimensionales, usted deberá balancear entre los requerimientos del negocio y el impacto que este tenga sobre los modelos.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s