ARQUITECTURA DE UNA BODEGA DE DATOS Estructura de contenidos INTRODUCCIÓN.................................................................... 3 1. ARQUITECTURA DE UNA BODEGA DE DATOS......................... 3 1.1 PROPIEDADES................................................................. 3 1.2 ARQUITECTURA DE UNA CAPA........................................... 4 1.3 ARQUITECTURA DE DOS CAPAS......................................... 5 1.3.1 Capa Fuente................................................................. 5 1.3.2 Extracción de Datos....................................................... 6 1.3.3 Capa de Data Warehouse............................................... 7 1.3.4 Análisis........................................................................ 7 1.4 ARQUITECTURA DE TRES CAPAS........................................ 8 1.5 Data Marts...................................................................... 9 GLOSARIO............................................................................ 11 BIBLIOGRAFÍA...................................................................... 12 WEBGRAFÍA.......................................................................... 12 FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje Mapa conceptual ARQUITECTURA DE UNA BODEGA DE DATOS 2 FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje Arquitectura de una Bodega de Datos INTRODUCCIÓN El manejo de información inmerso en las dinámicas organizacionales actuales, exige la combinación de estrategias que involucran por un lado el uso y mantenimiento de bases de datos relacionales con las que se realizan tareas transaccionales y operativas, al tiempo que se derivan otras tareas asociadas a la toma de decisiones producto de las actividades gerenciales que se enfocan en el análisis de datos complejos y de gran volumen. Los datos de comportamiento variable y creciente representados en fuentes heterogéneas deben ser depurados y presentados de una forma resumida y concreta para revisar tendencias y evaluar acciones específicas procurando generar ventaja comparativa y permitiendo a las organizaciones proyectarse en mercados cada vez más competitivos. En estos escenarios aparecen las Bodegas de Datos (del inglés data warehouse) para brindar soluciones orientadas a poder almacenar y centralizar la información originada a partir de distintas fuentes y definidas como lo expresa el autor Ralph Kimball como: “Una copia de las transacciones de datos específicamente estructurada para la consulta y el análisis”. Enfocados en esta tarea, nos ocuparemos de estudiar las diferentes opciones de arquitectura que se podrían abordar al momento de definir la creación de una bodega de datos. 1. ARQUITECTURA DE UNA BODEGA DE DATOS 1.1PROPIEDADES Para poder definir la arquitectura de una bodega de datos, debemos analizar unas propiedades esenciales representadas en: • Separación: Los procesos de análisis y transacciones deberían ser guardados en lo posible de forma independiente. • Escalabilidad: Las arquitecturas de Hardware y Software deben ser fáciles de mejorar conforme al volumen de los datos, definidas para fácil administración y manejo de procesos, estimadas por el número de requerimientos de usuarios que determinan incrementos progresivamente. 3 FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje Arquitectura de una Bodega de Datos • Extensibilidad: La arquitectura debe estar en capacidad de recibir nuevas aplicaciones y tecnologías sin rediseñar el sistema • Seguridad: Monitorear los accesos es una tarea esencial previa al almacenamiento de los datos en un data warehouse. • Administrable: La administración de los datos en el la bodega de datos no debe ser compleja Dos clasificaciones son comúnmente adoptadas para definir la arquitectura de una bodega de datos. La primera clasificación, es una estructura que depende del número de capas usada por la arquitectura. La segunda clasificación, depende de cómo las diferentes capas son empleadas para crear vistas del data warehouse orientada a necesidades específicas de una empresa o a departamentos específicos de la organización. 1.2 ARQUITECTURA DE UNA CAPA Source layer Operational data Data warehouse Middleware Analysis Reporting tools OLAP tools 4 FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje Una arquitectura de una capa no es comúnmente usada en la práctica. La meta en esta arquitectura es minimizar la cantidad de datos almacenados removiendo datos redundantes. Esto significa que un Data Warehouse es implementado como una vista multidimensional de datos operacionales creados por un middleware específico, o el procesamiento con una capa intermedia. La debilidad de esta arquitectura radica en su incapacidad para cumplir con el requisito de la separación entre el proceso de análisis y transaccional. Las consultas de análisis son enviadas a los datos operacionales una vez el middleware los interpreta. En este sentido, las consultas afectan la carga de trabajo de las transacciones regulares. Adicionalmente, aunque esta arquitectura puede reunir los requerimientos para integración y exactitud de los datos, este no puede registrar más datos que los provenientes de las fuentes básicas. Por esta razón, un enfoque virtual para almacenamiento de datos sólo puede tener éxito si las necesidades de análisis son particularmente restringidas y el volumen de datos a analizar es muy grande. 1.3 ARQUITECTURA DE DOS CAPAS El concepto de separación es la esencia en la definición de la arquitectura típica para un sistema de almacenamiento de datos pensado en dos capas tal cual como se aprecia en la figura 2. Se denomina arquitectura de dos capas a la separación física entre las fuentes de datos disponibles y lo dispuesto en la bodega de datos, que consta de cuatro etapas posteriores de flujo de datos enunciadas a continuación: 1.3.1 Capa Fuente Un sistema de almacenamiento de datos utiliza fuentes heterogéneas de datos. Esos datos se almacenan originalmente en la base de datos relacional o bases de datos legadas, o puede provenir de sistemas de información externos a la empresa. 5 FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje Arquitectura de una Bodega de Datos Source layer Operational data External data Data staging ETL tools Data warehouse Meta-data Data warehouse layer Data marts Analysis What-if analysis tools Reporting tools OLAP tools Data mining tools 1.3.2 Extracción de Datos Los datos almacenados en las fuentes deben ser extraídos y limpiados para remover inconsistencias y llenar espacios vacíos, integrando fuentes de datos heterogéneos a partir de esquemas comunes. Las llamadas herramientas ETL (Extraction, Transformation and Loading) pueden mezclar esquemas heterogéneos, extraer, transformar, limpiar, validar, filtrar, y cargar fuentes de datos dentro de una bodega de datos. En sí, esta etapa se ocupa de los problemas que son típicos de los sistemas de información distribuidos, tales como la gestión de datos inconsistentes y estructuras de datos incompatibles. 6 FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje Arquitectura de una Bodega de Datos 1.3.3 Capa de Data Warehouse La información es almacenada en un repositorio centralizado denominado data warehouse o bodega de datos. El data warehouse puede ser accedido directamente, pero este también puede ser usado como fuente para creación de data marts, los cuales parcialmente replican contenidos de los data warehouse y son diseñados por necesidades de dependencias específicas en una empresa. Los repositorios que contienen la meta data almacenan información como fuentes, procedimientos de acceso, extracción de datos, usuarios, esquemas de data mart, etc. 1.3.4 Análisis En esta capa, la integración de datos es eficiente y de acceso flexible para generar informes, analizar la información de forma dinámica y simular escenarios hipotéticos de negocio. Esta capa debe funcionar con navegadores de datos agregados, optimizadores de consultas complejas, y con interfaces gráficas de usuario de fácil manejo. Es necesario estudiar a fondo la diferencia arquitectónica entre los almacenes de datos y los data marts. Los componentes señalados como un data warehouse en la figura 2 son frecuentemente llamados data warehouse primario o data warehouse corporativo que actúan como un sistema de almacenamiento centralizado para todos los datos que se resumen. Los Data marts pueden ser vistos como pequeños almacenes de datos replicando la parte de una almacén de datos principal requerido en el dominio de una aplicación específica. A continuación se enuncian algunos beneficios de una arquitectura de dos capas: • En sistemas de bodega de datos, la información de buena calidad está siempre disponible, incluso cuando el acceso a las fuentes se niega temporalmente por razones técnicas o razones de la organización. • El análisis de consultas en la bodega de datos no afecta la administración de las transacciones. 7 FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje Arquitectura de una Bodega de Datos • Las bodegas de datos son estructuradas lógicamente de acuerdo a un modelo multidimensional. • Las bodegas de datos pueden utilizar soluciones específicas de diseño orientadas a la optimización de aplicaciones de análisis y reportes. 1.4 ARQUITECTURA DE TRES CAPAS Source layer Operational data External data Data staging ETL tools Reconcilled layer Reconciled data Meta-data ETL tools Data warehouse Data warehouse layer Data marts Analysis What-if analysis tools Reporting tools OLAP tools Data mining tools 8 FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje Arquitectura de una Bodega de Datos En esta arquitectura, la tercera capa es la capa de datos reconciliados o almacén de datos operativos. En esta capa se materializan los datos operativos obtenidos después de la integración y la limpieza de datos desde el origen. Como resultado, los datos son integrados, coherentes, actuales y detallados. La figura muestra una bodega de datos que no es poblada de sus fuentes de forma directa, pero si a partir de datos reconciliados. La principal ventaja de la capa de reconciliación de datos es que esta crea un modelo de referencia de datos común para una empresa en su conjunto. De igual forma, se separan los problemas de extracción de datos de las fuentes y la integración de datos para poblar la bodega de datos. En algunos casos, la capa de reconciliación es usada para llevar a cabo tareas más operativas, tales como la elaboración de informes diarios que no pueden ser adecuadamente preparados con las aplicaciones corporativas, o generando los flujos de datos para alimentar procesos externos periódicamente con el fin hacer integración y limpieza. Sin embargo, los datos conciliados conducen a una mayor redundancia de datos de origen operativo. Tenga presente que se puede suponer que incluso las arquitecturas de dos capas pueden tener una capa de reconciliación que no está específicamente materializada, pero si se puede presentar en una forma virtual dado que se define como una vista que brinda coherencia de los datos fuentes integrados. 1.5 Data Marts Un data mart es un subconjunto o una agregación de los datos almacenados en un almacén de datos principal. Se incluye un conjunto de piezas de información relativa a áreas específicas de negocio, un departamento de la empresa o categorías de usuarios. Los data marts generados a partir de una bodega de datos primaria son llamados frecuentemente dependientes. Pese a que los data marts no son estrictamente necesarios, son muy útiles para los sistemas de bodegas de datos en medianas y grandes empresas debido a que: • Son usados como bloques de construcción mientras se incrementa el desarrollo de las bodegas de datos. • Exponen la información requerida por un grupo específico de usuarios para solucionar consultas específicas. 9 FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje Arquitectura de una Bodega de Datos • Pueden ofrecer un mejor rendimiento, ya que son más pequeños que las bodegas de datos primarias. • En ocasiones, principalmente por políticas y organización, debe utilizar una arquitectura diferente en el que las fuentes se utilizan para poblar los data marts. Si no hay una bodega de datos principal, esto simplifica el proceso de diseño, pero conlleva el riesgo de inconsistencias entre los data marts. Para evitar estos problemas, se puede crear una bodega de datos principal y seguir teniendo los data marts independientes. En comparación con el estándar de la arquitectura de dos capas expuesta en la figura 2, las funciones de los data marts y la bodega de datos están invertidas. En este caso la bodega de datos se llena de a través de los data marts y puede ser consultada directamente para generar los patrones de acceso tan fácil como sea posible. 10 FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje GLOSARIO DATA MART: subconjunto o agregación de los datos almacenados en un almacén de datos principal. DATA WAREHOUSE: Colección de información originada a partir de distintas fuentes y definidas como lo expresa el autor Ralph Kimball como “Una copia de las transacciones de datos específicamente estructurada para labores de consulta y análisis”. ETL: Extracción, transformación y carga de datos. MIDDLEWARE: Software que asiste a una aplicación para interactuar o comunicarse con otras aplicaciones, software, redes, hardware y/o sistemas operativos. 11 FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje BIBLIOGRAFÍA • Mateo Golfarelli; Stefano Rizzi(2009). Data Warehouse Design: Modern Principles and Methodologies. McGraw-Hill. • Zorrilla, M. (2008). Data WareHouse y OLAP. Recuperado el 15 de mayo de 2012, Universidad de Cantabria. WEBGRAFÍA • Página tomada de Wikipedia (Wikipedia®). Recuperado el 18 de mayo de 2012, de Almacén de datos: http://es.wikipedia.org/wiki/Almac%C3%A9n_de_datos 12 FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje Control de documento Construcción Objeto de Aprendizaje Arquitectura de una Bodega de Datos Desarrollador de contenido Experto temático Fernelly Carvajal Silva Asesor pedagógico Rafael Neftalí Lizcano Reyes Producción Multimedia Luis Fernando Botero Mendoza Victor Hugo Tabares Programadores Daniel Eduardo Martínez Grateful Dead Montaño Sierra Líder expertos temáticos Ana Yaqueline Chavarro Parra Líder línea de producción Santiago Lozada Garcés 13 FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje