3.3 Load manager
Capítulo 3. Arquitectura del Data Warehouse
3.3 Load Manager
3.3.1 Extracción
3.3.2 Transformación
3.3.2.1 Codificación
3.3.2.2 Medida de atributos
3.3.2.3 Convenciones de nombramiento
3.3.2.4 Fuentes múltiples
3.3.2.5 Limpieza de datos
3.3.3 Carga
3.3.4 Proceso ETL
3.3.5 Tareas del ETL
3.3. Load Manager
|
Figura 3.3: Load Manager. |
Para poder extraer los datos desde los OLTP, para luego manipularlos, integrarlos y transformarlos, para posteriormente cargar los resultados obtenidos en el DW, es necesario contar con algún sistema que se encargue de ello. Precisamente, los ETL (Extracción, Transformación y Carga) son los que cumplirán con tal fin.
Tal y como sus siglas lo indican, los ETL, extraen datos de las diversas fuentes que se requieran, los transforman para resolver posibles problemas de inconsistencias entre los mismos y finalmente, después de haberlos depurado se procede a su carga en el depósito de datos.
En síntesis, las funciones específicas de los ETL son tres:
-
Extracción.
-
Transformación.
-
Carga.
A continuación, se detallará cada una de estas funciones, se expondrá cuál es el proceso que llevan a cabo los ETL y se enumerarán cuáles son sus principales tareas.
3.3.1. Extracción
Es aquí, en donde, basándose en las necesidades y requisitos del usuario, se exploran las diversas fuentes OLTP que se tengan a disposición, y se extrae la información que se considere relevante al caso.
Si los datos operacionales residen en un SGBD Relacional, el proceso de extracción se puede reducir a, por ejemplo, consultas en SQL o rutinas programadas. En cambio, si se encuentran en un sistema no convencional o fuentes externas, ya sean textuales, hipertextuales, hojas de cálculos, etc, la obtención de los mismos puede ser un tanto más dificultoso, debido a que, por ejemplo, se tendrán que realizar cambios de formato y/o volcado de información a partir de alguna herramienta específica.
Una vez que los datos son seleccionados y extraídos, se guardan en un almacenamiento intermedio, lo cual permite, entre otras ventajas:
-
Manipular los datos sin interrumpir ni paralizar los OLTP, ni tampoco el DW.
-
Almacenar y gestionar los metadatos que se generarán en los procesos ETL.
-
Facilitar la integración de las diversas fuentes, internas y externas.
El almacenamiento intermedio constituye en la mayoría de los casos una base de datos en donde la información puede ser almacenada por ejemplo en tablas auxiliares, tablas temporales, etc. Los datos de estas tablas serán los que finalmente (luego de su correspondiente transformación) poblarán el DW.
3.3.2. Transformación
Esta función es la encargada de convertir aquellos datos inconsistentes en un conjunto de datos compatibles y congruentes, para que puedan ser cargados en el DW. Estas acciones se llevan a cabo, debido a que pueden existir diferentes fuentes de información, y es vital conciliar un formato y forma única, definiendo estándares, para que todos los datos que ingresarán al DW estén integrados.
Los casos más comunes en los que se deberá realizar integración, son los siguientes:
-
Codificación.
-
Medida de atributos.
-
Convenciones de nombramiento.
-
Fuentes múltiples.
Además de lo antes mencionado, esta función se encarga de realizar el proceso de Limpieza de Datos (Data Cleansing).
3.3.2.1. Codificación
Una inconsistencia muy típica que se encuentra al intentar integrar varias fuentes de datos, es la de contar con más de una forma de codificar un atributo en común. Por ejemplo, en el campo “estado”, algunos diseñadores completan su valor con “0” y “1”, otros con “Apagado” y “Encendido”, otros con “off” y “on”, etc. Lo que se debe realizar en estos casos, es seleccionar o recodificar estos atributos, para que cuando la información llegue al DW, esté integrada de manera uniforme.
En la siguiente figura, se puede apreciar que de varias formas de codificar se escoge una, entonces cuando surge una codificación diferente a la seleccionada, se procede a su transformación.
|
Figura 3.4: Transformación: codificación. |
3.3.2.2. Medida de atributos
Los tipos de unidades de medidas utilizados para representar los atributos de una entidad, varían considerablemente entre sí, a través de los diferentes OLTP. Por ejemplo, al registrar la longitud de un producto determinado, de acuerdo a la aplicación que se emplee para tal fin, las unidades de medidas pueden ser explicitadas en centímetros, metros, pulgadas, etc.
En esta ocasión, se deberán estandarizar las unidades de medidas de los atributos, para que todas las fuentes de datos expresen sus valores de igual manera. Los algoritmos que resuelven estas inconsistencias son generalmente los más complejos.
|
Figura 3.5: Transformación: medida de atributos. |
3.3.2.3. Convenciones de nombramiento
Usualmente, un mismo atributo es nombrado de diversas maneras en los diferentes OLTP. Por ejemplo, al referirse al nombre del proveedor, puede hacerse como “nombre”, “razón_social”, “proveedor”, etc. Aquí, se debe utilizar la convención de nombramiento que para el usuario sea más comprensible.
|
Figura 3.6: Transformación: convenciones de nombramiento. |
3.3.2.4. Fuentes múltiples
Un mismo elemento puede derivarse desde varias fuentes. En este caso, se debe elegir aquella fuente que se considere más fiable y apropiada.
|
Figura 3.7: Transformación: fuentes múltiples. |
3.3.2.5. Limpieza de datos
Su objetivo principal es el de realizar distintos tipos de acciones contra el mayor número de datos erróneos, inconsistentes e irrelevantes.
-
Las acciones más típicas que se pueden llevar a cabo al encontrarse con Datos Anómalos (Outliers) son:
-
Ignorarlos.
-
Eliminar la columna.
-
Filtrar la columna.
-
Filtrar la fila errónea, ya que a veces su origen, se debe a casos especiales.
-
Reemplazar el valor.
-
Discretizar los valores de las columnas. Por ejemplo de 1 a 2, poner “bajo”; de 3 a 7, “óptimo”; de 8 a 10, “alto”. Para que los outliers caigan en “bajo” o en “alto” sin mayores problemas.
-
-
Las acciones que suelen efectuarse contra Datos Faltantes (Missing Values) son:
-
Ignorarlos.
-
Eliminar la columna.
-
Filtrar la columna.
-
Filtrar la fila errónea, ya que a veces su origen, se debe a casos especiales.
-
Reemplazar el valor.
-
Esperar hasta que los datos faltantes estén disponibles.
-
Un punto muy importante que se debe tener en cuenta al elegir alguna acción, es el de identificar el por qué de la anomalía, para luego actuar en consecuencia, con el fin de evitar que se repitan, agregándole de esta manera más valor a los datos de la organización. Se puede dar que en algunos casos, los valores faltantes sean inexistentes, ya que por ejemplo, un nuevo asociado o cliente, no poseerá consumo medio del último año.
3.3.3. Carga
Este proceso es el responsable de cargar la estructura de datos del DW con:
-
Aquellos datos que han sido transformados y que residen en el almacenamiento intermedio.
-
Aquellos datos de los OLTP que tienen correspondencia directa con el depósito de datos.
Se debe tener en cuenta, que los datos antes de moverse al almacén de datos, deben ser analizados con el propósito de asegurar su calidad, ya que este es un factor clave, que no debe dejarse de lado.
3.3.4. Proceso ETL
A continuación, se explicará en síntesis el accionar del proceso ETL, y cuál es la relación existente entre sus diversas funciones. En la siguiente figura se puede apreciar mejor lo antes descrito:
|
Figura 3.8: Proceso ETL. |
Los pasos que se siguen son:
-
Se extraen los datos relevantes desde los OLTP y se depositan en un almacenamiento intermedio.
-
Se integran y transforman los datos, para evitar inconsistencias.
-
Se cargan los datos desde el almacenamiento intermedio hasta el DW. Si existiesen correspondencias directas entre datos de los OLTP y el DW, se procede también a su respectiva carga.
3.3.5. Tareas del ETL
Los ETL, son los encargados de realizar dos tareas bien definidas:
-
Carga Inicial (Initial Load).
-
Actualización, mantenimiento o refresco periódico (siempre teniendo en cuenta un intervalo de tiempo predefinido para tal operación).
La carga inicial, se refiere precisamente a la primera carga de datos que se le realizará al DW. Por lo general, esta tarea consume un tiempo bastante considerable, ya que se deben insertar registros que han sido generados aproximadamente, y en casos ideales, durante más de cinco años.
Los mantenimientos periódicos mueven pequeños volúmenes de datos, y su frecuencia está dada en función del gránulo del DW y los requerimientos del usuario. El objetivo de esta tarea es añadir al depósito aquellos datos nuevos que se fueron generando desde el último refresco.
Antes de realizar una nueva actualización, es necesario identificar si se han producido cambios en las fuentes originales de los datos recogidos, desde la fecha del último mantenimiento, a fin de no atentar contra la consistencia del DW.
Para efectuar esta operación, se pueden realizar las siguientes acciones:
-
Cotejar las instancias de los OLTP involucrados.
-
Utilizar disparadores en los OLTP.
-
Recurrir a Marcas de Tiempo (Time Stamp), en los registros de los OLTP.
-
Comparar los datos existentes en los dos ambientes (OLTP y DW).
-
Hacer uso de técnicas mixtas.
Si este control consume demasiado tiempo y esfuerzo, o simplemente no puede llevarse a cabo por algún motivo en particular, existe la posibilidad de cargar el DW desde cero, este proceso se denomina Carga Total (Full Load).








