Extraccion, Transformación y Carga

Este es un tema clave para poder tener éxito en una buena plataforma de Inteligencia de Negocios. Revisemos inicialmente la definición de ETL.


Buscando rápidamente en google vemos la primera definición de ETL que nos proporcionan es la de wikipedia y dice:


"Extract, Transform and Load (Extraer, transformar y cargar en inglés, frecuentemente abreviado a ETL) es el proceso que permite a las organizaciones mover datos desde múltiples fuentes, reformatearlos y limpiarlos, y cargarlos en otra base de datos, data mart, o data warehouse para analizar, o en otro sistema operacional para apoyar un proceso de negocio." (wikipedia: ETL).




En la anterior imagen se ve el esquema general de una solución BI, la parte que esta dentro del círculo es la que llamamos proceso ETL. Ahora veamos un zoom dentro de lo que se hace en este proceso:






Podemos decir que está definición es una definición a muy groso modo de todo lo que comprende el proceso ETL, sin embargo este es un tema extenso e importante dentro de lo que llamamos Bodega de Datos. El ETL se refiere a tres pasos que se realizan para llevar la información de varias fuentes de datos (ERP, Portales, Archivos de texto, Archivos Excel, Archivos CSV y demás aplicativos transaccionales) y es de vital importancia que la calidad de los procesos construidos no dañen los datos, incluso dentro de sus labores es necesario hacer una limpieza de los datos para poder mejorar la calidad de los mismos.


En el proceso intervienen tres pasos que son la Extracción, la Transformación y la Carga (Load)  se dicen en este orden porque así se realizan los pasos, sin embargo en ocasiones dependiendo de la estrategia adoptada puede existir una variación en el orden y puede construirse la transformación luego de la carga, quedando la abreviación ELT, pero no es tan común. Veamos cada proceso en detalle:


Extracción


Este es el inicio de la cadena en el proceso y consiste en sacar la información de los aplicativos de la empresa (no solo deben ser los de las empresas, pueden extractarse datos externos) para poderlos unificar e integrarlos, sin importar su fuente. El origen de los datos comúnmente proviene de las bases de datos transaccionales, archivos de texto u otra estructura de datos diferentes y son de diversas formas.


Comúnmente los datos que se toman en la extracción y se lleva a una zona de Staging para que luego este sea procesado. Esta extracción inicial que se carga en a zona de staging se puede hacer llevando todos los datos sin ningún tipo de transformación y dependiendo de la cantidad de datos, nos llevamos todo lo que podamos (o sino lo que necesitamos). Es importante tener una estrategia basados en la cantidad de registros de la tabla y su criticidad, entre más crítica y compleja es mejor tratar de tener consultas que no sean tan pesadas. Uno de las prácticas que mas ayuda en este punto es tener en las tablas transaccionales un campo que se llame fecha_ultima_actualización (last_update_date) y extractar con base a este campo la información, principalemente la mas crítica.


Transformación


Es el paso que se encarga de modificar y limpiar la información,convirtiendo la información mas consistente. También se debe realizar la integración de la información con los datos y las claves subrogadas que existen en la bodega de datos y finalmente también es el proceso que se encarga de hacer que los datos sean mas fáciles de digerir para los usuarios, realizando transformaciones de códigos por elementos que nos permitan ver la descripción de un código de negocio (En caso de ser necesario).


Adicional a cumplir estos tres pasos que acabamos de revisar, también tenemos que tener en cuenta algunos aspectos que debe cumplir todo proceso ETL:

  • Soporte a una amplia gama de tipo de datos. Debe tener una capacidad de soporte a tipos de datos que se encuentren en bases de datos, formatos de mensajes y colas de servicios.

CONTINUARA...

Comentarios

Entradas populares de este blog

Como Construir la dimension tiempo en SQL SERVER

Reiniciar el Intelligence Server de Microstrategy