capitulo 5 - diseño de un datamart

Upload: juan-carlos-eulogio-ccaccya

Post on 04-Mar-2016

31 views

Category:

Documents


0 download

DESCRIPTION

Pasos inciales para un datamart

TRANSCRIPT

  • Business Intelligence Application Developer

    Diseo de un Datamart Al finalizar el captulo, el alumno

    Disear soluciones Datamarts. Temas:

    1. Diferencias de diseo entre los sistemas tradicionales y los sistemas de Business Intelligence.

    2. Qu deseo medir?: Concepto de Medida.

    3. Qu criterios uso para agrupar la informacin?: Concepto de Dimensin.

    4. Atributos, jerarquas y niveles.

    5. Funciones de agregacin de las medidas.

    6. Ejemplo: caso de diseo desarrollado por el instructor.

    7. Documentacin de los elementos de diseo.

    8. El modelo fsico del datamart:

    a. Tablas de dimensin b. Tablas de hechos. c. El modelo STAR. d. El modelo SNOWFLAKE.

  • Diseo de un Datamart 76

    1. Diferencia de Diseo entre los Sistemas Tradicionales y los Sistemas de Business Intelligence

    El diseo de las bases de datos OLAP presenta diferencias fundamentales respecto de los principios de diseo de las bases de datos OLTP. En la figura superior se muestra las principales caractersticas de ambos tipos de almacenamiento de datos. Sin embargo, existen otros aspectos de fondo que es relevante mencionarlo est en la capacidad para tomar decisiones de manera rpida para el negocio se ha convertido en una de las claves para que una empresa llegue al xito. En este contexto, los sistemas de informacin tradicionales (como la mayora de los programas de gestin, las aplicaciones a medida, e incluso los ERP ms sofisticados), suelen presentar una estructura muy inflexible para este fin. Aunque su diseo se adapta con mayor o menor medida para manejar los datos de la empresa, no permite obtener la informacin de los mismos, y mucho menos extrapolar el conocimiento almacenado en el da a da de las bases de datos. Las principales caractersticas que limitan estos sistemas son:

    Rigidez a la hora de extraer datos, de manera que el usuario tiene que ceirse a los reportes predefinidos que se configuraron en el momento de su implementacin, y que no siempre responden a sus dudas reales que evolucionan en el tiempo.

    Conocimientos tcnicos del personal. Para nuevos informes debe acudirse al rea de sistemas, al momento de solicitar una consulta adecuada para interrogar la base de datos.

    Elevados tiempos de respuesta debido a las consultas complejas que implicar la unin varias tablas operacionales, lo que se traduce en una larga espera del usuario y lentitud en los dems sistemas.

    Deterioro en el rendimiento del sistema operativo y/o servidor afectando y paralizando a los dems usuarios conectados.

  • Diseo de un Datamart 77

    Falta de cohesin de datos. Muchas organizaciones disponen de mltiples sistemas de informacin, incorporados en momentos distintos, para resolver problemticas diferentes. Sus bases de datos no suelen estar integradas, lo que implica la existencia de islas de informacin.

    Datos errneos, obsoletos o incompletos. El tema de la calidad de los datos siempre es considerado como algo importante, pero esta labor nunca se lleva al extremo de garantizar la fiabilidad de la informacin aportada.

    Problemas para adecuar la informacin. No se trata de que todo el mundo tenga acceso a toda la informacin, sino de que tenga acceso a la informacin que necesita para que su trabajo sea lo ms eficiente posible.

    Ausencia de informacin histrica. Los datos almacenados en los sistemas operacionales son del da al da, pero no permiten comparar la situacin actual con otros aos.

  • Diseo de un Datamart 78

    2. Qu deseo medir?. Concepto de Medida.

    Measures (medidas): Son valores cuantitativos que almacenan las mtricas del negocio. Estn representados por columnas numricas en la fact table. Ejemplo:

    Cantidad Vendida

    Monto Vendido

    Impuestos

    Gasto

    Costo

    Es la parte cuantitativa de los reportes y la pregunta que nos permite identificarla es

    Cunto?

  • Diseo de un Datamart 79

    3. Qu Criterios uso para agrupar la informacin?: Concepto de Dimensin

    Dimensin: Es una entidad de negocios respecto de la cual se deben calcular las mtricas. Ejemplos: clientes, productos, tiempo, vendedor, tienda, ubigeo, etc. Es la parte atribuible de una solucin de Business Intelligence, es la parte cualitativa (caractersticas) de los reportes. Generalmente provienen de las tablas maestras de los sistemas transaccionales. Las dimensiones estn compuestas de dos partes: Atributos y Jerarquas, y en cantidad de registros son las tablas ms pequeas. Las preguntas que nos permiten identificarlas son: Quin?, Qu?, Cundo?, Dnde? A quin?

  • Diseo de un Datamart 80

    4. Atributos, jerarquas y niveles.

    Atributos.-. Son las caractersticas del negocio. Un grupo de atributos crean una Dimensin. Ejemplo: Dimensin: Tiempo Atributos: Ao, Semestre, Trimestre, Mes.

    Jerarquas.-. Es la distribucin de los atributos en niveles. Ejemplo: Jerarqua Ubicacin: Departamento Provincia Distrito

    Jerarqua Calendario: Ao Trimestre Distrito

    Niveles.-. Es una forma de organizar los atributos de una dimensin. Los niveles permiten realizar la tcnica BI lamada Drill Down / Drill UP. Ejemplo: Jerarqua Ubicacin: Departamento Nivel Provincia Nivel Distrito Nivel

  • Diseo de un Datamart 81

    5. Funcin de Agregacin de las Medidas.

    Las medidas pueden ser operadas a travs de una diversa cantidad de funciones de agregacin, entre ellas tenemos: Suma.- Permite sumar la medida a travs de las dimensiones seleccionadas. Conteo.- Muestra la cantidad de ocurrencias de un hecho de acuerdo a las dimensiones seleccionadas. Conteo Distinto.- Muestra la cantidad nica de ocurrencias de un hecho de acuerdo a las dimensiones seleccionadas. Promedio.- Calcula un promedio de una medida Mximo.- Muestra el valor mximo de una medida Mnimo.- Muestra el valor mnimo de una medida

  • Diseo de un Datamart 82

    6. Documentacin de los elementos de diseo

    Para el modelamiento dimensional se tienen documentos que nos permiten tener un mejor y ms claro concepto del modelo final. As tenemos:

    El Diagrama Star Net

    Matriz Dimensin Proceso de Negocio

    Modelo de Datos Diagrama Star Net.- Es un diagrama que nos muestra a travs de lneas, crculos y rectngulos la representacin de un modelo dimensional. El rectngulo representa los hechos (medidas), los crculos mayores son las dimensiones, los crculos pequeo corresponden a los atributos de las dimensiones y las lneas permite la relacin entre estos elementos:

  • Diseo de un Datamart 83

    Matriz Dimensin Proceso de Negocio (Bus Matrix).- Es un diagrama de matriz que permite identificar que dimensiones intervienen en que proceso de negocio o hecho.

    Modelo Dimensional.- Es un modelo desnormalizado basado en dos entidades: Tablas Dimensionales (tablas perifricas) y Tablas de Hecho (tabla central) , que en el siguiente punto aprenderemos ms a detalle.

  • Diseo de un Datamart 84

  • Diseo de un Datamart 85

    7. El Modelo Fsico del Datamart.

    Modelo Fsico del Datamart El modelo fsico puede ser de dos tipos Star Schema (Modelo en Estrella) o tipo Snowflake (Copo de Nieve). El modelo Fsico est compuesto de dos tipos de tablas: tablas dimensionales y tablas de hechos. Tablas Dimensionales Para entender el negocio, es fundamental conocer los valores de las ventas, los costos y los gastos. Sin embargo, estos nmeros son de escasa utilidad si no se definen los criterios que se usarn para cruzar la informacin. Por ejemplo, la medida Ventas, por s sola, no brinda suficiente informacin. En un reporte, estamos visualizando el total de ventas desde que se fund la empresa? O las ventas para un determinado perodo de tiempo? Es necesario ver las ventas desglosadas por cliente y producto? Se desea visualizar las ventas por distribuidor? En este caso, tiempo, cliente, producto y distribuidor constituyen ejemplos de lo que, en la terminologa de Business Intelligence, se denomina dimensiones. Las dimensiones contienen las descripciones de las entidades principales del negocio, respecto de las cuales se calcularn las medidas.

    Las dimensiones tienen mltiples criterios de agrupacin. Por ejemplo, una dimensin de ubicacin geogrfica puede agrupar su informacin en continentes, regiones, pases y ciudades. Estos criterios de agrupacin se denominan niveles (levels). La principal caracterstica de los niveles es que cada nivel se encuentra contenido en su nivel superior: una ciudad est contenida en un pas, dicho pas en una regin, y la regin en un continente.

  • Diseo de un Datamart 86

    Las dimensiones se almacenan en tablas de dimensin. Las caractersticas de una tabla de dimensin son:

    Tienen una relacin uno a muchos con la tabla de hechos (fact table).

    Incluyen una clave primaria, de preferencia numrica y auto incrementado.

    En el ejemplo anterior el campo Producto_Key es la clave primaria de la tabla de dimensin. Una buena prctica es establecer un tipo de dato entero y auto generado para las claves de las tablas de dimensin, pues esto incrementar la velocidad de las consultas (si se efectan directamente sobre el modelo STAR) o de los procesamientos de informacin (si las consultas se efectan a travs de un cubo). Este tipo de llave conoce como surrogada o artificial.

    El campo IDProducto sirve para conocer el identificador del producto en su sistema de origen (recurdese que la informacin del Data Mart puede tener mltiples orgenes). Este campo ser til durante la escritura de los procesos de poblacin del Data Mart.

    En este ejemplo, los niveles de la dimensin Producto son: Familia, Subfamilia, Marca y Presentacin. En un modelo STAR, los niveles de la dimensin estn representados por columnas en la tabla de dimensin. Obsrvese, en la tabla PRODUCTO_DIM, las columnas que representan los niveles anteriormente mencionados.

    Ejemplo de llave surrogada o artificial:

    Tablas de Hechos Un Data Mart est orientado a brindar a los usuarios informacin numrica, que contribuya a entender el comportamiento del negocio y tomar mejores decisiones. Esta informacin numrica recibe el nombre de medida (measure). Algunos ejemplos de medidas comnmente utilizadas por todo tipo de negocio son: ventas, unidades vendidas, costo, gasto, etc.

  • Diseo de un Datamart 87

    Las medidas se almacenan en una o ms tablas de hechos (fact tables). Toda tabla de hechos contiene una cantidad variable de columnas numricas, que almacenan los valores de las medidas. Una tabla de hechos tiene las siguientes caractersticas:

    Posee una clave primaria compuesta por los campos que representan sus relaciones con las tablas de dimensin.

    Posee columnas numricas para las medidas.

    En el ejemplo anterior, las columnas Tiempo_Key, Producto_Key y Cliente_Key constituyen la clave primaria de la tabla de hechos Ventas_Fact. Estas columnas contienen claves forneas que enlazan la tabla de hechos con las tablas de dimensin Tiempo, Producto y Cliente. Las columnas Monto y Cantidad corresponden con las medidas de la tabla de hechos, y representan, respectivamente, el monto vendido y la cantidad vendida. Modelo Star El modelo estrella (Star Schema) est compuesto de una tabla central llamada tabla de Hechos (Fact Table) y de una o varias tablas perifricas llamadas Tabla de Dimensiones (Dimensional Table).

  • Diseo de un Datamart 88

    Obsrvese el diagrama superior. Este modelo consta de cinco tablas de dimensin: Employee, Product, Customer, Shipper y Time, circundando a una tabla de hechos llamada Sales_Fact. Cada registro de la tabla Sales_Fact representa un hecho de ventas. Sus cinco primeros campos constituyen la clave primaria, y provienen de su relacin con cada una de las tablas de dimensin. Las columnas restantes representan las medidas relacionadas con las ventas. A partir de este modelo, es fcil comprender que las mtricas de ventas (almacenadas en Sales_Fact) se computan por producto, empleado, cliente, proveedor y tiempo (almacenados en las tablas de dimensin). Modelo Snowflake

    En el modelo STAR, cada nivel es representado por una columna en la tabla de dimensin. En el modelo SNOWFLAKE, cada nivel est representado por una tabla. Por tanto, en este modelo una dimensin puede estar formada por varias tablas.

    La siguiente tabla modela la entidad PRODUCTO, en un modelo STAR tpico:

    En un modelo SNOWFLAKE, esta tabla se partira en cuatro:

  • Diseo de un Datamart 89

    La siguiente tabla muestra una comparacin de diversas caractersticas de los modelos STAR y SNOWFLAKE:

    En un modelo STAR, la performance de las consultas y del procesamiento del Data Mart mejora considerablemente debido a que el nmero de uniones necesarias para obtener los datos es menor. En cambio, el modelo SNOWFLAKE, debido al alto nmero de tablas que produce, tiene un tiempo de procesamiento y respuesta ms alto.

    Por otro lado, un modelo STAR es bastante ms sencillo que un modelo SNOWFLAKE. El modelo SNOWFLAKE es ms difcil de entender, y sus procesos de carga de datos son ms complejos.

  • Diseo de un Datamart 90

    8. Ejercicio: Caso de Diseo Desarrollado

    El primer paso en la construccin de un Data Mart es la definicin de las medidas. Del enunciado del problema, puede deducirse que existen dos medidas en este Data Mart: crditos concedidos y pagos.

    A continuacin, se deben establecer las dimensiones del Data Mart. Se desea visualizar la informacin por cliente y vendedor. Esto sugiere la existencia de dos dimensiones: Cliente y Vendedor. Para cada dimensin, se deben establecer los niveles. Cada cliente est en un distrito, cada distrito en una provincia y cada provincia en un departamento.

    Por tanto, la dimensin Cliente tiene los siguientes niveles:

    Dimensin Cliente

    . Departamento

    .. Provincia

    Distrito

    . Nombre cliente

    Obsrvese el uso de la notacin de puntos para representar a los niveles. El nivel ms superior se representa por un punto al lado izquierdo, el nivel siguiente por dos puntos, y as sucesivamente.

    Respecto de la dimensin Vendedor, se sabe que cada vendedor est en una agencia, cada agencia en un distrito, cada distrito en una provincia y cada provincia en un departamento. Por tanto, los niveles de la dimensin Vendedor son:

  • Diseo de un Datamart 91

    Dimensin Vendedor

    . Departamento

    .. Provincia

    Distrito

    . Agencia

    .. Nombre Vendedor

    Por otro lado, las tarjetas de crdito pueden ser de dos tipos: VISA y MASTERCARD. Esto sugiere la existencia de la dimensin Tipo Tarjeta, con un solo nivel.

    Dimensin Tipo Tarjeta

    . Tipo Tarjeta

    .. Nro. Tarjeta

    Por ltimo, las medidas deben visualizarse como totalizados anuales, semestrales, trimestrales y mensuales. Por lo general, todo data mart tiene una dimensin que representa las escalas temporales. En este caso, existe una dimensin llamada Tiempo, que tiene la siguiente estructura:

    Dimensin Tiempo

    . Ao

    .. Semestre

    Trimestre

    . Mes

  • Diseo de un Datamart 92

    Laboratorio N 5: Diseo de un Data Mart