Diseño y Construcción de Data Warehouse Instituto de Computación - Facultad de Ingeniería Abril 2014 Temario General Introducción a los Sistemas de Data Warehouse Diseño Conceptual Diseño Lógico Proceso de Carga y Actualización Conceptos básicos sobre Calidad de Datos Nuevas Tendencias Conclusiones del curso 2 Introducción (continuación) 3 Arquitectura típica de los SDW [Malinowski 2008] Arquitectura típica de los SDW Capa back-end Extracción, transformacion y carga Capa Data Warehouse DW Corporativo (Enterprise DW) Data Marts Metadata Capa OLAP Datos multidimensionales provenientes del DW Servidor OLAP: ROLAP, MOLAP o HOLAP Capa front-end Herramientas clientes que permiten a los usuarios explotar los contenidos del DW Propiedades de los Sist. DW Un Sistema de DW debería : Mantener una relación adecuada con BD Fuentes: Acceso a BDs heterogéneas y multiplataforma. Independiente de los Sistemas de Producción. Permitir acceso efectivo a usuarios finales: Soportar múltiples tipos de usuarios. Ofrecer Interfaces a usuario avanzadas. Funcionar en arquitecturas de varios niveles. 6 Acceso a BD Fuentes heterogéneas BD Fuentes heterogéneas: Diferentes modelos de datos: Relacional. Archivos legados (legacy). Geográficos. Datos semi-estructurados (ej., XML) y no estructurados (ej., documentos) Fuentes externas de datos (ej.: datos de la Web, cotizaciones bolsa, indicadores socio-económicos,). Diferentes formatos: Diferentes modelizaciones de información similar. Claves diferentes para los mismos objetos. 7 Independencia de Sist. de Producción Relaciones SDW y Sist. Producción: Coordinación: El DW se alimenta a partir de datos de Sists. Producción. Independencia: Razones de performance: Un SDW "pesado" no debe acceder on-line a BD-Prod. Recargaria el Sist. Prod. La performance de los dos se degradaría. Razones de independencia lógica. Los SDW suelen ver los datos de producción con una perspectiva histórica. No siempre es deseable una coordinación fuerte. 8 Soportar múltiples tipos de usuarios Diferentes niveles jerárquicos: Directivos. Gerentes de área. Mandos técnicos. Diferentes funciones: Planificación. Control. Análisis. 9 Interfaces de usuario avanzadas Interfaces de usuario especializadas. Por qué ? Optimizar el tiempo del usuario. Principio: A cada tipo de usuario o aplicación se le ofrece la interfaz más adecuada. 10 Arquitecturas en varios niveles Ejemplos de Arquitecturas de SDW: Análisis de Información Análisis de Información Análisis de Información Análisis de Información DW (html) Intranet/Internet Servidor WEB DW DW 11 Desarrollo de Sistemas DW Fases: Especificación de Requerimientos Diseño Conceptual Diseño Lógico Diseño Físico e Implementación Componentes a desarrollar: Adquisición de datos. Almacenamiento del DW. Mecanismos de acceso por parte de usuarios. Proceso de Desarrollo R e q u e r i m i e n t o s Diseño Conceptual Diseño Lógico Implementación Data Marts MD esq. lóg. MD carga refinamiento esq. conceptual multidimensional esq. lóg. DW esq. lóg. DW diseño concep. DW Relacional mapping carga BDs fuente integradas ER integrado integración BDs fuente Factores de éxito Un proyecto DW se considera exitoso si: Integra información heterogénea. De diferentes tipos. De diferentes orígenes. Hace visible y manejable la información útil. Incluye datos de calidad validada. Ofrece acceso directo a usuarios. El sistema se populariza. 14 Errores a evitar Se debe evitar: Establecer expectativas demasiados altas. Cargar el DW con todo lo disponible. Elegir un DW manager sin orientación al negocio. Diseñar el DW igual que un sistema de producción. Ignorar fuentes de datos externas. Ignorar la evolutividad del sistema. 15 Beneficios esperables Se obtiene: Acceso interactivo e inmediato a información estratégica de un área de negocios. Permite toma de decisiones basadas en datos objetivos. Los beneficios aumentan : cuanto más importantes son las decisiones. cuanto más crítico es el factor tiempo. Capitalización de datos en bases heterogéneas: Archivos, dbf, etc. 16 Características Técnicas Características Técnicas Temas: Herramientas Front-End Repositorios de Datos Carga y Actualización Administración del DW Diseño de DW 17 Arquitectura Herramientas Front-End Funciones de Metadata Repositorios de datos Herramientas de Integración y Limpieza Herramientas de Acceso a BDs BDs Fuente Repositorio - Históricos - BD Externas Sistemas de Producción 18 Herramientas Front-End Herramientas Front-End Funciones de Metadata Repositorios de datos Herramientas de Integración y Limpieza Herramientas de Acceso a BDs BDs Fuente Repositorio - Históricos - BD Externas Sistemas de Producción 19 Herramientas Front-End Introducción: Son herramientas usadas por el usuario para acceder a la información. Objetivos: Ofrecer al usuario final mecanismos de acceso eficaces. Mecanismos simples. Mecanismos potentes. Tener conexión eficaz al DW. 20 Herramientas Front-End Diferentes tipos: Planillas Electrónicas Herramientas de consulta y reportes Herramientas OLAP Herramientas de Dashboard Herramientas de Data Mining 21 Planillas Electrónicas Funcionalidades base: Estructuración de datos y operaciones cercanas a la visión del usuario. Conocidas por los usuarios en general. Bien integradas con procesadores de texto y otras herramientas de escritorio. Proveen variedad de funciones y operaciones. Ejemplo: Excel 22 Planillas Electrónicas (II) 23 Herramientas Consultas y Reportes Funcionalidades base: Construir fácilmente consultas/reportes complejos. Muy buenos para construir reportes no previstos. Incorporan lenguajes para manejo de datos. Ofrecen diferentes niveles de complejidad orientada a diferentes tipos de usuario: Construcción de reporte complejo desde cero. Construcción de reporte en base a templates. Ejecución parametrizada de reportes. Ejecución fija de reporte. 24 Herramientas Consultas y Reportes 25 Herramientas Consultas y Reportes 26 Herramientas OLAP Funcionalidades base: Permiten consultar datos : Interactivamente y en forma eficiente. Usando mecanismos comprensibles para usuarios. Una consulta corresponde a cruzar dimensiones y elegir la medida en el cruzamiento. Funcionalidades adicionales: Rankings. Visualización gráfica. Funcionalidades de herramientas: Integración con BDs Relacionales. Integración con herramientas de escritorio. Interfaces tipo API. 27 Herramientas OLAP Implementan Modelos Multidimensionales. Los Modelos MD representan los datos como dimensiones en un hipercubo. Diferentes alternativas tecnológicas: ROLAP vs. MOLAP vs. HOLAP: ROLAPs: actuan directamente sobre BD Relacional. MOLAPs: trabajan sobre almacenamiento especializado. HOLAP: intentan aplicar ambas estrategias. 28 OLAP - Modelos Multidimensionales Motivaciones: Representar los datos en forma más cercana a la intuición del usuario. Resolver problemas planteados en sistemas relacionales. Principios generales: La información se representa como: cuadros de doble o triple entrada. cubos de "n" dimensiones. Una BD-MD incluye varias dimensiones. 29 OLAP - Modelos Multidimensionales Ejemplo: Análisis de ventas de autos MODELO MINI VAN MINI VAN MINI VAN SPORTS COUPE SPORTS COUPE SPORTS COUPE SEDAN SEDAN SEDAN Tabla: Cuadro: M O D E L O COLOR BLUE RED WHITE BLUE RED WHITE BLUE RED WHITE Mini Van 6 5 4 Coupe 3 5 5 Sedan 4 3 2 Blue Red White VOLUMEN-Ventas 6 5 4 3 5 5 4 3 2 COLOR 30 Herramientas OLAP - Ejemplo 31 Herramientas OLAP - Ejemplo 32 Herramientas OLAP Cualidades de herramientas OLAP: Acceso a BDs. Valorización de datos. Capacidad de cálculos. Capacidad de operaciones de análisis. Variedad de presentación de resultados. Adaptación a diferentes tipos de usuario. Control de operaciones del usuario. Control de usuarios. Evitar operaciones que "cuelguen" el sistema. 33 Dashboards Data Mining Objetivos: Explorar BDs buscando relaciones desconocidas entre los datos. Por ejemplo: Relaciones entre enfermedades y decesos. Algunas candidatas a nuevas causas de decesos. Otras podrían ser datos erróneos. Qué incluye ? Un conjunto muy amplio y heterogéneo de técnicas y herramientas. 35 Data Mining en contexto DW Herramientas Front-End Funciones de Metadata Data Warehouse Herramientas de Integración y Limpieza Herramientas de Acceso a BDs Repositorio BDs Fuente - Históricos - BD Externas Sistemas de Producción 36 Data Mining en contexto DW Diferencias con OLAP. Data Mining usa mecanismos de: Descubrimiento de información, Pattern-matching, Deducción de reglas, ... y otros para determinar relaciones claves entre los datos. Los algoritmos de Data Mining pueden estudiar varias dimensiones de datos simultáneamente y descubrir los que tienen comportamiento especial. La iniciativa es del algoritmo y no del usuario. 37 Repositorios de datos Herramientas Front-End Funciones de Metadata Repositorios de datos Herramientas de Integración y Limpieza Herramientas de Acceso a BDs BDs Fuente Repositorio - Históricos - BD Externas Sistemas de Producción 38 Repositorios de datos BDs ODS Fuentes Data Warehouse Corporativo Datos detallados Transformaciones ... Aplicaciones (Data Marts) Datos Preparados (agregados, históricos) METADATOS Repositorios de datos Data Warehouse Corporativo (CDW): Brinda información gerencial a nivel de la organización. Alcance global. Información integrada y “limpia”. Centraliza la carga (y afines) desde bases fuentes. Operational Data Store (ODS): Contiene resultados intermedios de los procesos de carga y actualización. Puede incluir información de control que facilite los procesos de carga. Puede ser temporal o perdurable. Repositorios de datos Data Marts Brindan información gerencial a un área específica de negocios. Por ejemplo: Ventas, Marketing, Recursos Humanos. Basado en porciones de datos del CDW. Realizan la interacción directa con los usuarios. Fuertemente asociados a requerimientos concretos de usuarios/aplicaciones. Incluyen los datos más directamente relacionados. Incluyen los programas/consultas necesarios. Aplican las tecnologías más adecuadas a c/caso. Administración y evolución relativamente autónoma. Clases de Datos BDs ODS Fuentes Data Warehouse Corporativo Datos detallados Transformaciones ... Datos: • integrados • sin preparar • Describen los otros datos. Datos Preparados (agregados, históricos) Datos: • integrados. • limpios • preparados. METADATOS Aplicaciones (Data Marts) Datos : • + preparados. • especializados. Clases de Datos Datos detallados: Corresponden al punto de inserción de datos desde los sistemas de producción. Diferencia con datos de BD-Fuentes: Están en formato homogéneo. Pasaron un primer control de calidad. Pueden ya haber sido integrados. Generalmente se trata de volúmenes importantes de datos. Clases de Datos Datos agregados: Resultantes de aplicar funciones de totalización sobre datos correspondientes a un objeto del problema. Ej: total mensual de ventas por producto. Interés: Información significativa para analizar. Permiten reducir volúmenes de datos. Su cálculo interactivo plantea problemas de performance. Datos historizados: Datos (detallados o agregados) a los cuales se les agrega una marca de tiempo. Generan volúmenes importantes de datos. Clases de Datos Metadatos: Consiste en información sobre los datos del DW. Incluye información sobre: Semántica de los datos y su localización en el DW. Localización de los datos en los sistemas de producción y reglas de transformación. Especificación de formulas de cálculo de agregados. Información sobre frecuencias de carga, mecanismo de historización, etc. Constituye una pieza clave para: El control de calidad de los datos. La explotación eficaz del DW. El mantenimiento del DW. Carga y actualización Herramientas Front-End Funciones de Metadata Repositorios de datos Herramientas de Integración y Limpieza Herramientas de Acceso a BDs BDs Fuente Repositorio - Históricos - BD Externas Sistemas de Producción 46 Carga y actualización BD ODS Fuente Data Warehouse Corporativo Datos detallados Transformaciones ... Extracción Integración Filtrado Transformación Consolidación Integración Aplicaciones (Data Marts) Datos Preparados (agregados, históricos) Carga en Data Marts 47 Tipos de Operaciones/Transformaciones Extracción de datos. Consiste en extraer los datos de la BD fuente y cargarlo en el ODS o DW. Limpieza. Filtrado de datos no admisibles en el DW. Modificación de formato o valores para que cumpla pautas definidas en el DW. Integración. Consiste en integrar datos provenientes de dos o más fuentes. 48 Tipos de Operaciones/Transformaciones Cálculos y Consolidaciones (Agregaciones). Consiste en calcular indicadores a partir de datos base. Pueden implicar consolidaciones. Generación de datos históricos (historizacion). Consiste en agregar marcas de tiempo a datos. Generación de versiones. Consiste en agregar atributos diferenciadores de diferentes versiones de un objeto base. La historización permite hacer esto marcando la versión con un valor temporal. 49 Carga y actualización Problemas a resolver: Diseño de la configuración: Qué operaciones se realizan en qué momento. Cuáles son secuenciales y cuáles paralelizables. Qué dependencias hay entre ellas. Diseño e implementación de procesos: Extracción, integración, etc. Definición de frecuencia de operaciones. Grado de sincronización del DW con BDs fuente. Coordinar esta frecuencia con la lógica de las consolidaciones. 50 Administración del DW Herramientas Front-End Funciones de Metadata Repositorios de datos Herramientas de Integración y Limpieza Herramientas de Acceso a BDs BDs Fuente Repositorio - Históricos - BD Externas Sistemas de Producción 51 Administración del DW Aspectos principales a prever. Gestión de la Metainformación. Monitoreo del DW. Resulta importante: Prever los recursos necesarios. Personas, Herramientas, Datos. Contar con herramientas especializadas Meta-información Es información sobre los datos en el DW. Constituye un elemento clave para los Sist. DW. Para el mantenimiento del sistema. Control y verificación de la calidad de los datos. Enriquece los datos almacenados en el DW. Asociándolos a objetos del negocio real. Tipos de meta-información: Propiedades (o atributos). Relaciones con otros objetos. Meta-información Items de meta-información: Semántica (de datos en el DW). ¿Qué significa ese dato? ¿Con qué temática se relaciona el ítem? Origen. ¿Cúal es su origen? (BD, cálculo, ...) ¿De qué tablas se extrae el ítem? Reglas de cálculo. ¿Cómo se calcula el ítem de datos? Reglas de agregación. ¿Cuál es el conjunto de datos fuente ? Meta-información Items de meta-información (cont.): Calidad Qué niveles de calidad tienen los datos? Almacenamiento, formato. ¿Cómo se almacena y con qué formato? Uso. ¿Qué programas lo usan? Carga. ¿Con qué frecuencia se cargan los datos del DW? ¿Cómo se realiza las historización? Meta-información Gestión de la meta-información. Es un problema en sí mismo, Además de la administración del DW. Concierne funciones de: Modelado de datos, almacenamiento, acceso. Resulta interesante contar con herramientas especializadas en Gestión de Metainformación. Modelos de Metadata OIM (Metadata Coalition) (1999-2001). Objetivo: soportar a interoperabilidad entre herramientas heterogéneas a nivel empresarial. Diseñado para acompañar todas las fases del desarrollo de Sistemas de Información. CWM (Object Management Group) (2000- ...) Objetivo: soportar interoperabilidad en herramientas y sistemas de Data Warehousing. Especializado en soporte a Data Warehouse y Business Intelligence. Diseño de Data Warehouse Elementos base: Las operaciones principales son consultas. La carga/actualización no es transaccional. Importancia de la calidad y facilidad de acceso. Por lo tanto … Criterios de diseño diferentes a los de bases de datos operacionales. En cuanto a complejidad … El diseño del DW y programación de la carga constituyen las tareas más costosas y complejas. Enfoques de Diseño de DW Existen diferentes enfoques que varían según Si apuntan a diseño del Data Warehouse o de Data Marts Las fases que conforman el proceso de diseño El método para especificar requerimientos Diseño DW vs. Diseño DM DW Incluye datos de la organización entera Utilizado en altos niveles gerenciales DM Areas de negocio específicas Sub-conjunto de los datos Niveles de gerencia medios en la organización Diseño DW vs. Diseño DM Diseño top-down Se construye un esquema para el DW entero Se integran los requerimientos de usuarios de diferentes niveles/partes de la organización Luego se separan los DM según las características de cada área de negocio o proceso. Diseño bottom-up Se construye un esquema separado para cada DM. En base a los requerimientos de los usuarios del área de negocio o proceso correspondiente. Luego los esquemas se integran formando el esquema global de DW. Fases del proceso de Diseño Existen pocas propuestas de métodos de diseño de DW que abarcan todo el proceso. No coinciden en las fases Distintas filosofías Fases tradicionales de diseño de bases de datos Se ignora fase de diseño conceptual Se incluyen más fases, como diseño de ETL Métodos especiales para especificación de requerimientos Se incluye creación de metadata Especificación de requerimientos Enfoque orientado al usuario Los usuarios determinan los hechos y dimensiones de análisis relevantes. Enfoque orientado al negocio Las estructuras del DW se derivan del análisis de los requerimientos o procesos del negocio. Enfoque orientado a las fuentes El DW se deriva de las fuentes de datos. Enfoque combinado Combinacion de usuario/fuentes o negocio/fuentes DBMS para el Data Warehouse DBMSs Relacionales: Solución "universal". Soportan el grueso de las aplicaciones DW. Dificultades para resolver eficientemente consultas dimensionales. DBMSs Multi-Dimensionales: Representan los datos del problema en términos de dimensiones. Estructuras de almacenamiento están diseñadas para optimizar consultas dimensionales. DBMSs Relacionales Mecanismos que mejoran performance. Arquitecturas paralelas. Solución de hardware. Multiplicar recursos de procesamiento. Mecanismos del DBMS. Independientes del hardware. Indices binarios. Estructuras de datos para acceso más eficiente. Algoritmos de StarJoin. Algoritmos orientados a consultas dimensionales sobre BDs Relacionales Resumen Los SDW Pieza clave en el proceso de toma de decisiones: Acercan la información al usuario Permiten revalorizar los datos en la empresa: Construyen información a partir de datos Integran datos en diferentes formatos Los SDW no son productos monolíticos sino composición de diferentes soluciones técnicas. Diseño de base de datos. Diseño de procesos de carga y actualización. Control de calidad de datos Conectividad, etc. Resumen Herramientas Front-End: Tipos muy diferentes: desde planillas … OLAP … Data Mining. OLAP es la actualmente dominante. Procesos de Carga y Actualización: Es un proceso complejo y poco visible. Generalmente corresponde a la actividad más costosa del proyecto. Incluye diferentes operaciones: Carga, Integración, Control de Calidad… Resumen Arquitecturas: No hay receta universal. DWs y DMs: Lograr coordinación práctica. Diferentes niveles de diseño: Diseño conceptual Diseño lógico Implementación Se debe resolver: Diseño de esquemas Diseño de procesos de carga y actualización Almacenamiento de metadatos necesarios