✒️SAP BI / BW BO Introducción al ETL
SAP BI / BW BO Introducción al ETL
ETL
Es el proceso que permite a las organizaciones mover datos desde múltiples fuentes, reformatearlos y limpiarlos, y cargarlos en otro repositorio para apoyar procesos de negocios.Su abreviación, significa: Extracción, Transformación y Carga (Load en inglés).
Esto se debe, a que se extraen los datos de una fuente. Se transforman o modelan de acuerdo con las necesidades del negocio, y se cargan en un destino para poder ser mostrados a través de una herramienta de reporting.
Mediante Los procesos ETL los cuales se extrae información de uno o varios orígenes de datos. Ésta se transforma para adaptarla a las necesidades del negocio y posteriormente se carga en un sitio compartido para su consulta por todas las partes interesadas.
Una de las características más importantes del sistema ETL es que permite integrar en un entorno homogéneo aquellos datos de orígenes heterogéneos. Sin embargo, la configuración del flujo de trabajo tiene un cierto nivel de complejidad y un proceso ETL mal diseñado puede causar problemas operacionales de un coste muy elevado.
¿Por qué son importantes los procesos ETL?
Los procesos ETL son la principal fuente de información para la capa de negocios de la empresa. A veces, la única. Estos procesos permiten que los gerentes tengan un panorama claro, detallado y profundo de la gestión empresarial. Y gracias a esta información, en una fase posterior de análisis, se pueden detectar patrones y tendencias sobre las que tomar decisiones estratégicas de alto impacto.
Sin embargo, los datos por sí solos no aportan valor alguno, pues éstos son recogidos en un estado bruto, que no permiten ni lectura ni análisis por parte de las personas. Para que los datos puedan ser valiosos, deben ser procesados y transformados desde su estado bruto a un estado legible y práctico. Aquí es donde entra en juego el proceso ETL.
Por ejemplo, un historial de compras de un cliente está conformado, entre otros puntos, por la siguiente información:
- Datos de contacto del cliente y otros datos relevantes.
- Listado con los artículos adquiridos.
- Detalles sobre dichos artículos: descripciones, precios, cantidades, etc.
- Importe final de cada pedido.
- Estado transaccional de los pedidos (en curso, finalizados, anulados, etc.).
Para que el historial de compras pueda brindar toda esta información de manera clara y legible, el proceso ETL tiene que intervenir para obtener y procesar los datos en bruto hasta adaptarlos a los formatos adecuados. Esto es debido a que los datos no se almacenan en los sistemas de la organización tal cual se muestran en el historial.
Si un gerente quiere consultar el historial de un único cliente, el sistema debería limitar su búsqueda a esos únicos datos (entre la ingente cantidad que maneja la empresa), realizar cálculos, seleccionar los campos que se van a mostrar en la plantilla del historial y darles el formato indicado para su presentación.
Fases de un proceso ETL
1. Extracción (extract)
La primera fase de un proceso ETL es la de extracción de datos. En ésta se obtiene la “materia prima” con la que se trabajará en las siguientes dos fases, hasta conseguir una utilidad práctica.
La mayoría de los proyectos que se realizan para generar un Datawarehouse obtienen datos provenientes de diferentes. Cada uno de estos sistemas por separado puede tener almacenados de una manera diferente sus datos, esto significa que puede tenerlos en ficheros Excel, en texto plano, en ficheros XML, en bases de datos relacionales, entre otros.
La extracción busca en un primer momento obtener los datos y dejarlos listos para que se les pueda aplicar algún proceso de transformación. Una parte muy importante en este proceso es que se deben analizar los datos a extraer para determinar cuáles son los que nos serán útiles y cuáles no, para de esta manera rechazar los que no utilizaremos y evitar datos innecesarios en nuestro sistema.
Otro ítem muy importante al momento de realizar el análisis de la extracción que vamos a realizar es el de determinar el impacto que puede generar esta extracción en el sistema fuente, ya que podría perjudicar a los sistemas transaccionales y por lo tanto complicar la operatoria diaria de la empresa.
Los datos provienen de distintos orígenes y fuentes: registros de sistema, CRM, puntos de venta y dispositivos utilizados, entre otros. Es muy probable que estas fuentes sean heterogéneas, por ello los datos deben ser normalizados. También se deben compaginar en estructuras comunes aquellos datos que contengan el mismo tipo de información, aunque provengan de orígenes distintos.
El objetivo de la fase de extracción es sintetizar toda la información en una o varias estructuras comunes en las que se almacenen los datos normalizados, dejándolos completamente homogeneizados, organizados y listos para la fase de transformación. Es posible que en esta primera etapa se ejecuten algunas transformaciones propias del origen de datos. El objetivo es que estos queden optimizados para la etapa de transformación.
Un ejemplo de extracción sería un fichero de datos de ventas agregados por meses y departamentos, una fila por cada departamento y una columna por cada mes, es decir, cada nuevo mes se añadiría una columna. Este formato es adecuado para tratar ficheros manuales pero muy poco eficiente para una base de datos.
Por otra parte, en esta fase técnica se desarrolla la mayoría de las operaciones de I/O (entrada/salida), que suelen ser bastante costosas.
2. Transformación (transform)
En la fase de transformación es cuando aportamos valor a los datos obtenidos en la fase de extracción. Es donde radica el fundamento del proceso ETL. El proceso de transformación busca adaptar los datos extraídos en datos que finalmente serán cargados en el Datawarehouse.
Estas transformaciones serán adaptaciones de los datos basándose en reglas preestablecidas del negocio.
3. Carga (load)
La tercera y última fase es la carga. Es cuando el sistema recibe los datos debidamente procesados y los almacena en el destino que se haya definido. En esta etapa también se aísla a la fase de transformación de posibles cambios en el destino.
El proceso de carga es el proceso en el cual los datos pasan por la fase de Transformación y son cargados en nuestro sistema. Existen diferentes maneras de cubrir los requerimientos, por ejemplo, en algunos casos se sobre escriben los datos que se obtienen y en otros se va almacenando un historial de los registros de forma que se pueda conocer como fue variando un determinado valor a lo largo del tiempo.
Las cargas pueden ser realizadas de 2 maneras:
- Cargas Full: Este tipo de cargas generalmente se realizan inicialmente y es cuando queremos que pasen todos los datos de la fuente al destino.
- Cargas Delta: Con este tipo de cargas sólo traeremos a nuestro sistema los datos que aún no fueron almacenados. Las cargas deltas son imprescindibles, ya que sin ellas todas las veces que realizamos una carga, sobrecargaría al sistema fuente con esta solicitud.
Por ejemplo, es posible que inicialmente el resultado de la ETL se almacene en un fichero para que sea utilizado por la capa de negocio, pero más adelante se decida almacenar esos resultados en una base de datos.
En determinados entornos, cuestiones como la definición, validación o implementación de un modelo de datos y de procesos de ingesta pueden durar meses. Por eso, la capa de negocio puede obtener gran valor al contar con la posibilidad de generar resultados inmediatos en ficheros y, más adelante, almacenarlos en base de datos al cambiar solo la fase de carga.
SAP BI BW ETL CONCEPTO
Es un proceso de extracción, transformación y carga (ETL, por sus siglas en inglés) necesario en todo proyecto de implementación de un Datawarehouse.
Consiste en tres tareas principales:
- 1. la extracción cuyo propósito es obtener los datos desde los sistemas de origen (generalmente sistemas transaccionales) con la premisa de causar un impacto mínimo en el sistema origen.
- 2. La transformación consiste en aplicar una serie de reglas de negocio o funciones sobre los datos extraídos para convertirlos en datos que serán cargados luego en Datawarehouse.
- 3. La carga es el momento en el cual los datos resultantes de la tarea de transformación son cargados en el sistema de destino, generalmente un Datawarehouse.
SAP BW cumple ampliamente con este proceso de forma eficiente y eficaz sobre sistemas fuentes SAP, pero también para cualquier otro tipo de sistema origen.
Metodología de desarrollo flexible y ágil en procesos ETL
Las tres fases pueden desarrollarse de forma integrada, especialmente cuando los procesos ETL no son complejos. No obstante, desarrollarlas de forma flexible e independiente aporta las siguientes ventajas:
- Es posible asignar cada fase a equipos distintos para acortar plazos de trabajo.
- El desarrollo de cada etapa se puede hacer con diferentes tecnologías.
- Los cambios que afecten a una fase (por ejemplo, el cambio en el origen de los datos) se pueden aislar del resto de fases.
- Se pueden hacer pruebas en cada etapa por separado, puesto que solo se verá afectada la etapa en la que se está introduciendo la prueba.
- El trabajo hecho para un proceso ETL puede ser reutilizado para otros procesos ETL, especialmente las fases de extracción y carga.
- La capa de negocio se puede implicar en la fase de transformación, con el objetivo de definir la lógica del sistema ETL, sin tratar cuestiones técnicas que quedan aisladas en la fase de extracción y dificultarían la compresión de la capa de negocio.
- Los resultados pueden ser generados a corto y largo plazo sin que ello afecte a la lógica del proceso ETL, realizando cambios únicamente en la fase de carga.
Es importante aplicar un enfoque de desarrollo flexible, pues, su mayor importancia está en poder implicar a la capa de negocio en la definición de la lógica ETL con el fin de generar resultados a corto plazo, sin necesidad de involucrarse en cuestiones técnicas.
 
 
 
Sobre el autor
Publicación académica de David P?rez Cogolludo, en su ámbito de estudios para la Carrera Consultor en SAP BI / BW BO.
David P?rez Cogolludo
Profesión: Business Intelligence Analyst - Austria - Legajo: JZ19A
✒️Autor de: 75 Publicaciones Académicas
🎓Egresado de los módulos:
Presentación:
Interesado en profundizar cocimientos en la anal?tica de negocios para afrontar nuevos retos y desaf?os profesionales.
Certificación Académica de David P?rez