Por: Libardo Niño Cruz
Introducción
El diseño y construcción de cubos de datos permite a las organizaciones escalar progresivamente hacia una arquitectura de almacenamiento con Bodegas de Datos (Data Warehouse), sobre los que se puede aplicar técnicas de minería de datos con el fin de extraer conocimiento que permita satisfacer las expectativas de los clientes y alcanzar los objetivos estratégicos de la organización. La aplicación de técnicas de minería de datos para identificar y extraer conocimiento de las bases de datos, permite mejorar la estrategia de negocio mediante el diseño de tácticas que generen ventajas competitivas en el mercado.
Bodegas de datos (data warehouses)
Una bodega de datos es una herramienta empresarial utilizada como una solución informática que consolida los datos de diferentes fuentes de una entidad, institución o negocio ya sean de bases de datos, archivos planos o de otros sistemas del negocio, extrayéndolos, transformarlos en el caso de ser necesario y almacenarlos en un solo repositorio. El objetivo de la bodega de datos es soportar la toma de decisiones en un negocio y centralizar los datos, interpretarlos y darle un valor agregado para beneficio del negocio, ofreciendo un fácil acceso y visualización para su análisis por parte de los usuarios.
La bodega de datos es un almacén de los datos que han sido extraídos y transformados, y están separados físicamente del origen donde provienen los datos. Una bodega de datos es una copia de los datos de las bases de operaciones del negocio que está estructurado específicamente para la consulta y el análisis. Las bodegas de datos pueden estar integrados por Datamarts, que es son subconjuntos de datos específicos de una dependencia del negocio. Los Datamarts deben ser consistentes en la representación de los datos para asegurar robustez.
Modelos y metodologías para el diseño de una bodega de datos.
Algunos de los modelos y metodologías más usadas para el diseño y construcción de Bodegas de datos son:
Modelo de Barry Devlin y Paul Morphy: En este modelo se inicia analizando racionalmente el modelo de negocio con el fin de definir la arquitectura técnica que se requiere para realizar la implementación de la Bodega de Datos; posteriormente se identifican las fuentes de almacenamiento que contienen los datos, con las que se define un simple, completo y consistente sistema de almacenamiento, en el que los datos se agrupan para que los usuarios finales puedan entender y manipular el contexto del negocio.
Modelo de Ralph Kimball: Es un esquema centrado en la identificación de procesos de la empresa, desde el que se extraen los elementos claves para la definición de la estructura de variables y dimensiones de las que constan los cubos de datos, que al agruparlos componen la Bodega de Datos de la empresa.
Modelo de William Bill Inmon: Se fundamenta en la elaboración del modelo de datos corporativo desde un nivel de abstracción muy gerencial, para que con base en esté se derive la estructura del modelo de datos de la Bodega de Datos.
Modelo de Golfarelli Matteo, Maio Dario y Rizzi Stefano: Es un esquema que parte de los modelos entidad relación (MER) de los sistemas transaccionales de la organización, para luego derivar el MER de la estructura para el diseño de la Bodega de Datos.
Metodología HEFESTO: Aborda el proceso de construcción de la Bodega de Datos desde el enfoque de la Inteligencia de Negocios (Business Intelligence - BI), en el cual se identifican los aspectos más relevantes y significativos del modelo del negocio con el objetivo de precisar y detallar los componentes que deben intervenir en la arquitectura de la Bodega.
Cubo de datos
Un cubo representa un subconjunto de datos de la bodega, almacenado en una estructura multidimensional. Para proceder a la implementación de los cubos es necesario determinar el tipo de cubo y la herramienta que se utilizara para ello.
La construcción física de las tablas de dimensiones y las tablas de hechos se realizan de acuerdo con el modelo dimensional definido y la herramienta a utilizar, se ejecutan los procesos ETL para probar las tablas y se genera el cubo para obtener las respuestas a los requerimientos definidos. Posteriormente se procede a visualizar la información del cubo.
Para definir el tipo de cubo a construir es necesario tener en cuenta las opciones de almacenamiento que se tienen así:
Rendimiento: En este caso debe ser de tipo MOLAP (Multidimensional on-line Analytical Processing) almacenado en una base de datos multidimensional tanto los datos como las agregaciones.
Capacidad:
OLAP: Un cubo OLAP es una estructura de datos que supera las limitaciones de las bases de datos relacionales y proporciona un análisis rápido de datos. Cubos OLAP pueden mostrar y sumar grandes cantidades de datos también proporciona a los usuarios acceso de búsqueda a los puntos de datos para que los datos se pueden acumular, segmentar y o reorganizar según sea necesario para procesar la variedad más amplia de preguntas pertinentes al área de un usuario de interés. La ilustración siguiente muestra un cubo OLAP que contiene las dimensiones Fecha, Región y Producto.
ROLAP significa Procesamiento Analítico OnLine Relacional, es decir, se trata de sistemas y herramientas OLAP (Procesamiento Analítico OnLine) construidos sobre una base de datos relacional. Es una alternativa a la tecnología MOLAP (Multidimensional OLAP) que se construye sobre bases de datos multidimensionales.
MOLAP es el acrónimo inglés de Multidimensional Online Analytical Processing, es decir, 'procesamiento analítico multidimensional en línea'. Se trata de una alternativa a la tecnología ROLAP (OLAP-Relacional). Aunque ambos tipos de herramientas están diseñadas para realizar análisis de datos a través de un modelo de datos multidimensional, MOLAP se diferencia significativamente en que requiere un preprocesamiento y almacenamiento de la información contenida en el cubo OLAP
HOLAP (Hybrid Online Analytical Process, procesamiento analítico en línea híbrido) es una combinación de ROLAP y MOLAP, que son otras posibles implementaciones de OLAP. HOLAP permite almacenar una parte de los datos como en un sistema MOLAP y el resto como en uno ROLAP.
DOLAP Está orientado a los equipos de escritorio, recoge todos los datos que desea analizar desde una base de datos relacional y la guarda en el escritorio.
Minería de datos
El datamining (minería de datos), es el conjunto de técnicas y tecnologías que permiten explorar grandes bases de datos, de manera automática o semiautomática, con el objetivo de encontrar patrones repetitivos, tendencias o reglas que expliquen el comportamiento de los datos en un determinado contexto.
Básicamente, el datamining surge para intentar ayudar a comprender el contenido de un repositorio de datos. Con este fin, hace uso de prácticas estadísticas y, en algunos casos, de algoritmos de búsqueda próximos a la Inteligencia Artificial y a las redes neuronales.
CRISP-DM (Cross Industry Standard Process for Data Mining) se trata de un modelo estándar abierto del proceso que describe los enfoques comunes que utilizan los expertos en minería de datos. Es el modelo analítico más usado.
La metodología SEMMA (Sample, Explore, Modify, Model, Assess) fue propuesta por SAS Institute, el cual la define como el proceso de selección, exploración y modelado aplicado a cantidades significativas de datos almacenados que permitan el descubrimiento de patrones como herramientas de apoyo para el negocio. Según SAS más que una metodología para minería de datos, SEMMA es un conjunto de herramientas funcionales enfocadas hacia los aspectos de desarrollo propio de un modelo de minería.
Metodología DMAIC es un acrónimo de los pasos de la metodología: Definir, Medir, Analizar, Mejorar y Controlar. Es una herramienta de la metodología enfocada en la mejora incremental de procesos existentes. La herramienta es una estrategia de calidad basada en estadística, que da mucha importancia a la recolección de información y a la veracidad de los datos como base de una mejora. Cada paso en la metodología se enfoca en obtener los mejores resultados posibles para minimizar la posibilidad de error.
KDD process - (Knowledge Discovery in Databases)
La minería de datos o exploración de datos (es la etapa de análisis de "Knowledge Discovery in Databases" o KDD) es un campo de la estadística y las ciencias de la computación referido al proceso que intenta descubrir patrones en grandes volúmenes de conjuntos de datos. Utiliza los métodos de la inteligencia artificial, aprendizaje automático, estadística y sistemas de bases de datos.
Fases para implementación de cubos de datos
Fase I: Comprensión del modelo de negocio
En esta fase se recolecta la información corporativa e institucional que permita comprender el modelo de negocios e identificar los objetivos estratégicos de la organización. Se consultan fuentes como el organigrama empresarial, el diagrama de procesos, el manual de procedimientos, el portafolio de servicios y todas aquellas que suministren información que permita comprender la estructura y el funcionamiento de los procesos que tiene la organización. El análisis obtenido en esta fase se consolida en un documento llamado “Dominio del negocio de la organización” donde se realiza la descripción del modelo de negocio, se establecen los objetivos estratégicos de la organización y se explica la estructura de la organización.
Fase II: Levantamiento de los requerimientos del negocio
En esta fase se recolectan datos y se someten a análisis con el fin de transformarlos en información que permita identificar las necesidades del modelo de negocio de la organización, esto implica estudiar las interacciones que se dan entre los datos y los procesos que se llevan a cabo en cada una de las áreas de la organización. La información obtenida durante el levantamiento de requerimientos debe permitir identificar los interrogantes que el cubo de datos debe solucionar para cada área de negocio que desea utilizarlo, esto permitirá recolectar los datos correctos e interpretar adecuadamente los resultados.
Fase III: Recolección de los datos
En esta fase se recolectan los datos desde los sistemas fuentes para realizar sobre ellos una descripción cualitativa y cuantitativa, posteriormente se procede a determinar sus propiedades y verificar la calidad de los mismos. Esta fase consta de las siguientes etapas:
Identificación de las fuentes de los datos: se identifican los sistemas fuentes que contienen los datos y se extraen para posteriormente adecuarlos, es importante tener en cuenta que los datos pueden residir en diversos tipos de sistemas, a continuación, mencionamos algunos de los más típicos dentro de las organizaciones:
Hojas de cálculo
Bases de datos
Archivos estadísticos
Sistemas de información empresarial (ERP, ERP, FRM, HRM, MRP, SCM)
Archivos documentales físicos y digitales.
Descripción de los datos: se realiza la descripción de los datos extraídos desde los sistemas fuentes con el fin de establecer sus características y métricas de la siguiente forma:
Descripción cualitativa: se refiere a las cualidades relevantes de los datos que pueden ser descritas utilizando: Significado de la tabla que contiene los datos, descripción del campo que contiene el dato y descripción del tipo de campo.
Descripción cuantitativa: se refiere a las métricas que pueden ser calculadas u obtenidas del volumen de datos, como: Número de campos por tabla, número de registros por tabla y número de relaciones.
La información recolectada de los datos se consigna en un informe denominado “reporte de la descripción de datos”.
Exploración de los datos: Se procede a explorar los datos que han sido extraídos desde los sistemas fuentes, con el fin de encontrar una estructura general para los datos “homogeneidad” y de identificar problemas “datos paralizantes” que puedan ocurrir durante las fases siguientes. Las novedades encontradas en esta fase se registran en un documento denominado “Reporte de exploración de datos”.
Verificación de la calidad y consistencia de los datos: Se efectúan verificaciones sobre los datos, que permitan asegurar la consistencia de los valores individuales de los campos, la cantidad y distribución de los valores nulos y la corrección de valores fuera de rango que puedan constituirse en elementos que alteren el resultado del proceso. Los resultados de esta fase se consignan en un documento que lleva por nombre “Reporte de calidad de datos”
Fase IV: preparación de datos
Una vez se finaliza la fase de recolección de los datos, se procede al alistamiento de los datos para la posterior construcción del cubo de datos. La fase de preparación de datos consta de las siguientes etapas:
- Selección de datos: se seleccionan los datos de la fase anterior, utilizando como criterio de selección la calidad de los datos en cuanto a completitud y consistencia.
- Limpieza de los datos: se optimiza la calidad de los datos mediante la aplicación de técnicas que eliminen datos paralizantes, valores fuera de rango y caracteres extraños; algunas de estas técnicas son: normalización de datos, discretización de campos numéricos y tratamiento de valores ausentes.
- Estructuración de los datos: se realizan operaciones de alistamiento sobre los datos, las cuales generan nuevos atributos a partir de los ya existentes y transforman los valores de los ya existentes.
- Integración de los datos: se crean nuevas estructuras que unifican los datos, para esto se fusionan tablas que contengan atributos diferentes de un mismo objeto y se generan nuevos campos y registros que resuman los actuales.
- Formateo de los datos: se realizan transformaciones sintácticas de los datos sin modificar su significado, esto se consigue mediante la reordenación o ajuste de los campos y registros de las tablas; también se eliminan comas, tabuladores, caracteres especiales, máximos y mínimos para las cadenas de caracteres.
Fase V: modelación del cubo de datos.
Con esta fase se identifican las dimensiones, métricas y tablas de hecho que constituirán el cubo de datos. Algunos de los aspectos para identificar los atributos de estos elementos son:
- Atributos de métrica: son aquellos atributos que permiten establecer un valor cuantitativo sobre los datos.
- Atributos de dimensión: son todos los atributos que aportan cualidades a los datos.
- Datos multidimencionales: son los datos que no pueden modelarse como atributos de dimensión o de medida.
- Atributos de las tablas de hecho: Para identificar estos atributos hay que prestar especial atención a las tabulaciones cruzadas puesto que estas son sumatorias que no están guardas directamente en las tablas del modelo relacional, sino que son el resultado de operaciones aritméticas que se obtienen de disponer de distintas formas los atributos de métrica y de dimensión.
A continuación, los modelos de datos más comunes;
Modelo estrella.
En las bases de datos usadas para data warehousing, un esquema en estrella es un modelo de datos que tiene una tabla de hechos (o tabla fact) que contiene los datos para el análisis, rodeada de las tablas de dimensiones. Este aspecto, de tabla de hechos (o central) más grande rodeada de radios o tablas más pequeñas es lo que asemeja a una estrella, dándole nombre a este tipo de construcciones.
Modelo copo de nieve
En las bases de datos utilizadas en (data warehousing), un esquema en copo de nieve es una estructura algo más compleja que el esquema en estrella. Se da cuando alguna de las dimensiones se implementa con más de una tabla de datos. La finalidad es normalizar las tablas y así reducir el espacio de almacenamiento al eliminar la redundancia de datos; pero tiene la contrapartida de generar peores rendimientos al tener que crear más tablas de dimensiones y más relaciones entre las tablas (JOINS) lo que tiene un impacto directo sobre el rendimiento.
Modelo constelación
Un esquema de constelación es una combinación de un esquema de estrella y un esquema de copo de nieve. Los esquemas de constelación son esquemas de copo de nieve en los que sólo algunas de las tablas de dimensiones se han desnormalizado.
El objetivo de los esquemas de constelación es aprovechar las ventajas de los esquemas de estrella y de copo de nieve. Las jerarquías de los esquemas de estrella están desnormalizadas, mientras que las jerarquías de los esquemas de copo de nieve están normalizadas.
Los esquemas de constelación están normalizados para eliminar las redundancias de las dimensiones. Para normalizar el esquema, las jerarquías dimensionales compartidas se colocan en outriggers.
Fase VI: Implementación del cubo de datos.
El objetivo primordial de esta actividad es la introducción de nuevas tecnologías a todos los procesos automatizados de la Alcaldía de San Antonio del SENA, se pretende solucionar los problemas relacionados con la gestión de la información y convergencia de datos (labor realizada por cada una de las secretarías) que dificultan los procesos de análisis y toma de decisiones derivados de éstos.
En esta la fase se construye el modelo físico del cubo de datos el cual se realiza de la siguiente forma:
Crear las tablas de cada una de las dimensiones del cubo con sus respectivos atributos y llaves primarias.
Después se construye las tablas de hechos con sus campos, llaves primarias y relaciones que se han identificado en el modelo seleccionados. Todo esto se implementará para la Secretaría de Salud
Creando Secretaría de Salud
Creación de las tablas
Relaciones de las tablas
Insertando información a las tablas creadas.
Fase VII: Construcción del visualización del cubo de datos.
En esta fase el usuario podrá visualizar de una forma más intuitiva de los datos registrados.
Se inicia la conexión con la base de datos desde Excel esto se hará para montar el cubo de datos OLAP, mediante una tabla dinámica.
Se realiza la conexión a la base de datos previamente creada en Oracle.
Se visualiza la información mediante la tabla dinámica, los resultados esperados.