Está en la página 1de 6

Modelo dimensional de un proceso de negocio Presentation Transcript

1. Miguel OrqueraBasado en el libro: The Data Warehouse ToolkitSecond Edition. The Complete Guide to DimensionalModeling. Ralph Kimball. Margy Ross. 2002 2. CONCEPTOS Y TERMINOLOGIA DEL MODELAMIENTO DIMENSIONAL Hay un amplio acuerdo entre los usuarios de DW de que elmodelamiento dimensional es la mejor forma de presentarla informacin porque es la mejor manera de reunir lasprincipales metas de diseo: Presentar la informacin a los usuarios en la forma ms simple posible. Retornar los resultados a los usuarios lo ms rpido posible. Proveer informacin relevante que guarde pistas de los procesos subyacentes.

3. CONCEPTOS Y TERMINOLOGIA DEL MODELAMIENTO DIMENSIONAL Albert Einstein captur la principal razn por la que se usa un modelo dimensional cuando dijo: Hacer las cosas tan simples como sea posible, pero no demasiado simples. Entonces, la simplicidad es relativa. El modelo dimensional es mucho ms fcil de entender para los usuarios que un sistema basado en un modelo normalizado de un sistema fuente tpico, aunque un modelo dimensional tpicamente contiene exactamente la misma informacin que un modelo normalizado.

4. La informacin se agrupa en categoras Un modelo dimensional tiene mucho menos tablas y la informacin es agrupada en categoras de negocio coherentes que tienen sentido para los usuarios. Estas categoras ayudan a los usuarios a navegar por el modelo ya que categoras enteras pueden ser pasadas por alto si no son tiles para un determinado anlisis.

5. No es tan simple Desafortunadamente, tan simple como sea posible no quiere decir que el modelo dimensional necesariamente es simple. El modelo debe reflejar el negocio, y los negocios son tpicamente complejos. Si se simplifica demasiado, para presentar solo datos agregados, el modelo pierde informacin que es crtica para entender el negocio. No importa como se modelen los datos, la complejidad intrnseca de los datos contenidos es en ltimo trmino la razn por la que muchas personas utilizan reportes estructurados y aplicaciones analticas para acceder al DW.

6. Las consultas son ms rpidas En el ambiente relacional, el modelo dimensional ayuda al rendimiento en las consultas a causa de la desnormalizacin involucrada en la creacin de dimensiones. Pre juntando varias jerarquas y tablas de consulta, el optimizador debe consideran muchas menos junturas y crear muy pocas tablas temporales intermedias. Las consultas utilizando el SQL Server relacional funcionan mucho mejor sobre una estructura dimensional que sobre una estructura completamente normalizada. En un ambiente de Anlisis Services OLAP, el motor est especficamente diseado para soportar modelos dimensionales. El rendimiento se logra en gran parte pre juntando datos relacionados en las dimensiones.

7. Qu es un modelo dimensional? Un modelo dimensional consta de una (o varias) tablas de hechos central y sus dimensiones asociadas. El modelo dimensional es tambin llamado modelo en estrella porque es similar a una estrella, con la tabla de hechos en el medio y las dimensiones formando las puntas de la estrella. Desde la perspectiva de un modelo de datos relacional, el modelo dimensional consiste en una tabla de hechos normalizada, con tablas dimensionales desnormalizadas.

8. TABLA DE HECHOS La tabla de hechos es la principal de un modelo dimensional; es all donde estn almacenadas las mediciones numricas de rendimiento del negocio. Se llama hecho a una medida del negocio. Por ejemplo, en una cadena de supermercados, una tabla de hechos registra cmo se venden los productos, anotando la cantidad de cada producto que se vende y la cantidad de dinero que se obtiene por las ventas, cada da, para cada producto en cada tienda.

9. Tabla de hechos de Ventas Diarias FactVentasDiarias FechaCodigo (FK) ProductoCodigo (FK) TiendaCodigo (FK) CantidadVendida ValorEnDolares

10. Medidas del negocio Una medida es tomada en la interseccin de todas las dimensiones (da, producto y tienda). Esta lista de dimensiones define la granularidad de la tabla de hechos y nos dice cul es el alcance de las mediciones. Una fila en una tabla de hechos corresponde a una medida. Todas las medidas en la tabla de hechos deben tener la misma granularidad.

11. Los hechos son numricos y sumables Los hechos ms usados son numricos y sumables, tales como la cantidad en dlares de cada venta. El que sean sumables es muy importante porque en las aplicaciones de DW casi nunca se recupera una sola fila de la tabla de hechos, ms bien se recuperan cientos, miles o millones de filas de hechos a la vez, y lo mejor que se puede hacer con tantas filas es sumarlas o resumirlas. En el ejemplo, no importa qu porcin de la base de datos el usuario elija, podemos sumar las cantidades y dlares y obtener un total vlido.

12. Hechos semisumables y no sumables Tambin hay hechos semisumables y an otros que no son sumables. Los semisumables pueden sumarse solo en ciertas dimensiones, mientras los no sumables no lo son en ninguna circunstancia. Con los no sumables se deben usar contadores y promedios si se quiere hacer un resumen de las filas o se reduce a imprimir las filas de hechos de una en una. Esto sera un ejercicio aburrido en una tabla de hechos con un billn de filas.

13. Medidas tipo texto Es posible que la medida de un hecho sea textual, pero es muy raro. Cuando esto sucede, el texto es una medida de algo, y son textos que provienen de una lista predefinida. Es preferible poner medidas textuales en las dimensiones porque pueden ser correlacionados con otros atributos textuales dimensionales y ahorran mucho espacio. No se debe almacenar texto redundante en las tablas de hechos. A menos que cada fila de la tabla de hechos tenga texto nico, permanece en la tabla de dimensiones. Un hecho con datos en texto libre no es posible en un DW porque es imposible de analizar.

14. Las tablas de hechos son muy grandes Si no hay ventas un determinado da, en una determinada tienda para un determinado producto, esa fila no se registra en la tabla de hechos. No se debe llenar la tabla de hechos con ceros, pues no sirven para el anlisis. A pesar de esto, la tabla de hechos consume normalmente ms del 90% del espacio de la BD dimensional. Las tablas de hechos tienden a ser profundas en trminos del nmero de filas, pero estrechas en el nmero de columnas.

15. Granularidad de las tablas de hechos La granularidad de las tablas de hechos cae en una de las tres categoras: transaccin, imgenes peridicas y acumulacin de esas imgenes. Las tablas de hechos con granularidad a nivel de transaccin son las ms comunes.

16. Claves en las tablas de hechos Todas las tablas de hechos tienen dos a ms claves forneas que conectan a las claves primarias de las tablas dimensionales. Por ejemplo, la clave de producto en la tabla de hechos empatar con la clave de un producto de la tabla dimensional Producto, a travs de la integridad referencial. La tabla de hechos tiene su propia clave primaria conformada por un grupo de claves forneas que es llamada clave compuesta o concatenada. Cada tabla que expresa una relacin con cardinalidad muchos a muchos es una tabla de hechos, las dems son tablas de dimensiones. En un modelo dimensional, las tablas de hechos expresan una relacin de cardinalidad muchos a muchos entre dimensiones.

17. Clave primaria en una tabla de hechos Solamente un subconjunto de las claves forneas que tiene una tabla de hechos basta para identificar a cada fila. De una docena o ms de claves, pueden ser 2 o 3. Por ejemplo, cdigo de venta y cdigo de producto. En la mayora de casos no hay ninguna ventaja en crear una clave primaria con un cdigo en la tabla de hechos, pues la tabla se hace ms grande, y un ndice sobre este atributo no tiene ningn valor. Sin embargo, puede ser til para facilitar la administracin del sistema y cuando puede haber varias filas con todos los valores iguales.

18. TABLAS DE DIMENSIONES Son la compaa integral de una tabla de hechos, contienen las descripciones textuales del negocio. En un modelo dimensional bien diseado, las tablas dimensionales contienen muchas columnas o atributos que describen las filas. Se debe incluir tantas descripciones textuales como sea posible. Es comn que una tabla dimensional tenga entre 50 y 100 atributos. Tienden a ser pequeas en cuanto al nmero de filas (mucho menos de 1 milln) pero son muy extensas horizontalmente, con muchas columnas. Cada dimensin tiene una clave primaria nica, que se enlaza a travs de integridad referencial a cualquier tabla de hechos a la cual est juntada.

19. Tabla de la dimensin Producto DimProducto ProductoCodigo ProductoDescripcion Numero de referencia (SKU Marca Categora Departamento Tipo de empaque Tamao de empaque Contenido de grasa Tipo de dieta Peso Unidades de medida Tipo de almacenamiento Vida til de la caja Ancho de la caja Alto de la Caja Profundidad de la caja

20. Los atributos de las dimensiones Los atributos de las dimensiones son utilizados en condiciones de consultas, agrupamientos y reportes etiquetados, y son claves para hacer al DW usable y entendible. El DW es tan bueno como son los atributos dimensionales, depende de la calidad y profundidad de sus atributos dimensionales. Mientras ms elementos y terminologa del negocio se incorporen en los atributos dimensionales, mejor es el DW. Las tablas dimensionales son los puntos de entrada a las tablas de hechos. Atributos dimensionales robustos llevan a una capacidad de anlisis robusto. Las dimensiones implementan la interfaz de usuario del DW.

21. Atributos de las dimensiones Los mejores atributos son textuales y discretos, deben ser palabras reales y completas en vez de abreviaciones. Atributos tpicos para una dimensin producto pueden incluir una descripcin corta (10 a 15 caracteres) o larga (40 50 caracteres). Ejemplo: tipo de producto, categora de producto, tipo de empaque, tamao, y otras numerosas caractersticas. Aunque el tamao de un producto se expresa en nmeros, es un atributo dimensional porque se comporta como una descripcin textual antes que como un valor sumable. El tamao es un descriptor discreto y constante de un producto.

22. Atributo de una dimensin o de una tabla de hechos? Algunas veces en el diseo no est claro si un dato numrico que es extrado de un sistema fuente pertenece a una dimensin o a una tabla de hechos. Para tomar la decisin debe preguntarse si ese atributo tiene muchos valores y stos servirn para hacer clculos, si es as, pertenece a una tabla de hechos, o, si es una descripcin discreta que es ms o menos constante y participa en las condiciones de bsqueda, es un atributo dimensional. Por ejemplo, el costo estndar de un producto puede verse como un atributo constante del producto, pero puede cambiar varias veces, y tambin se puede decidir tratarlo como un hecho medible.

23. Cdigos de las aplicaciones operacionales Se debe tratar de minimizar el uso de cdigos en una tabla dimensional reemplazndoles con atributos textuales mas explcitos. Se debe tener decodificacin estndar para los cdigos operacionales disponibles como atributos dimensionales para que las etiquetas de las consultas y reportes sean consistentes. Algunos cdigos operacionales o identificadores tienen una significacin especfica del negocio para los usuarios, o se requieren para regresar al sistema operacional, en estos casos, los cdigos deben aparecer como atributos de las dimensiones, acompaados de su descripcin explicita textual.

24. Cdigos con informacin adicional En otros casos, el cdigo puede llevar informacin adicional del negocio, por ejemplo, los primeros dos dgitos pueden identificar la lnea del negocio, los siguientes dos dgitos indican la regin, etc. Aqu se debe extraer de los cdigos esa informacin y ponerlas como atributos adicionales que puedan ser filtrados, agrupados y reporteados con facilidad. Las tablas dimensionales a menudo representan relaciones jerrquicas dentro del negocio.

25. Jerarquas En el ejemplo de la tabla dimensional Producto, los productos se agrupan en tipos, y los tipos en categoras. Para cada fila en la dimensin Producto se almacena el tipo y la categora asociada con cada producto. Se puede ver que la informacin descriptiva jerrquica tiene redundancia, pero se hace esto para facilitar las consultas y mejorar el rendimiento. Las tablas dimensionales son altamente desnormalizadas, y como su tamao es muy pequeo en relacin con las tablas de hechos, el aumento del almacenamiento por la redundancia no es significativo.

26. Esquema estrella

27. Esquema estrella En la figura, la tabla de hechos que consiste de medidas numricas est unida a un set de tablas dimensionales que contienen atributos descriptivos. Este tipo de esquema se le conoce como esquema estrella. La primera cosa que se nota en el esquema es su simplicidad y simetra, lo que hace ms fcil entender y navegar. Adems, el reducido nmero de tablas y el uso de los descriptores de negocio hacen menos probable que se produzcan errores.

28. Modelos dimensionales La simplicidad tambin trae beneficios en el rendimiento, ya que el optimizador procesar las consultas ms eficientemente porque tienen pocas junturas. Los modelos dimensionales son muy adaptables a los cambios, el marco de trabajo predecible de un modelo dimensional resiste cambios inesperados en la conducta de los usuarios. Cada dimensin es equivalente, todas las dimensiones son simtricamente iguales puntos de entrada a la tabla de hechos.

29. Granularidad de los hechos Mientras ms granularidad exista y se tengan datos ms atmicos, mas dimensionalidad existe. Los datos atmicos, es decir, que no han sido resumidos, son los ms expresivos y son la base de diseo de las tablas de hechos para resistir consultas de los usuarios no esperadas.

30. Los cambios se hacen fcilmente Se puede ir agregando nuevas dimensiones al esquema. Tambin se puede agregar nuevos e inesperados hechos a la tabla de hechos. Tambin se puede incrementar nuevos atributos en las tablas dimensionales, o aumentar un nuevo nivel de granularidad desde un punto en el tiempo, todo esto utilizando el comando de SQL ALTER TABLE, sin tener que recargar los datos, y sin que se afecten las aplicaciones que estn funcionando.

31. Facilidad para los reportes

32. Facilidades para reportes Otra manera de ver como se complementan entre tablas de hechos y dimensiones es verlas traducidas en un reporte. Como se ve en la figura, los atributos dimensionales aportan los ttulos de los reportes, mientras que las tablas de hechos proporcionan los valores numricos de los reportes.

33. Modelo dimensional de ventasen una cadena de supermercados

34. Modelo dimensional de ventasen una cadena de supermercados El modelo le permite al usuario cruzar el negocio para analizar las ventas al detalle desde varias perspectivas. Los administradores pueden ver las ventas por producto para diferentes tiendas y en diferentes fechas, los gerentes de las tiendas pueden ver las ventas por fecha y por cajero, los planificadores de tiendas pueden ver a las ventas por tipo de tienda y por localizacin. Como este modelo es razonablemente robusto, un gran supermercado podra tener un poco mas de dimensiones, clientes en particular, y muchos mas atributos.

35. Modelo dimensional de ventasen una cadena de supermercados En la figura, los campos marcados con PK son las claves primarias. En un modelo dimensional las claves primarias de las dimensiones son implementadas con un solo campo. Las claves forneas FK controlan la integridad referencial. El campo DD es una dimensin especial degenerada, la cual es explicada luego. Para captar el concepto de dimensiones y hechos, es til ver ejemplos de modelos dimensionales de una variedad de industrias y procesos de negocios.

36. Modelo dimensional del proceso de vuelos en una aerolnea

37. Modelo dimensional del proceso de vuelos en una aerolnea Las dimensiones han sido llenadas los suficientes para dar sentido a sus contenidos. Los planeadores de rutas pueden ver los vuelos por aeropuerto, los de logstica pueden ver la utilizacin de aeronaves, marketing puede ver el comportamiento de los viajeros frecuentes, la actividad de los vuelos por clase y tarifas base, los de ventas pueden ver el comportamiento de los canales de ventas. Hay algo para todos en este modelo dimensional.