Modus

Integración-de-datos-ETL

Integración de datos, ETL: ¿Qué es y por qué la necesito?

En el mundo empresarial, los datos lo son todo. Cuantos más datos tenga, más fácil será tomar decisiones informadas que ayuden a su negocio a crecer. Pero recopilar datos es sólo la mitad de la batalla. La otra mitad es asegurarse de que todas las fuentes de datos dispares se integren para que pueda utilizarlas en su beneficio. Ahí es donde entra en juego la integración de datos ETL (Extract, Transform and Load).

En esta entrada del blog, echaremos un vistazo a lo que es la integración de datos ETL, por qué es importante, y algunas de las mejores prácticas para hacerlo de manera efectiva. Cuando termines de leer, comprenderás mucho mejor cómo funciona este proceso y cómo puede beneficiar a tu empresa. ¡Empecemos!

Vamos a aclarar unos conceptos básicos:

La integración de datos es cada vez más popular a medida que las empresas se dan cuenta de las inmensas ventajas que ofrece. Aunque no existe un enfoque único para la integración de datos, sí hay una definición común. La integración de datos es el proceso técnico y empresarial de combinar datos procedentes de fuentes dispares para ofrecer una visión global de los mismos. En pocas palabras, la integración de datos consolida diferentes fuentes de datos en una única vista unificada. La integración de datos permite que las herramientas analíticas produzcan inteligencia e información procesables.

Sin embargo, es fácil entender por qué la integración de datos se percibe como algo desalentador si se tiene en cuenta su magnitud. Hay muchas fuentes de datos potenciales que evaluar, desde datos en la nube hasta sensores de información recopilada. Hay que diferenciar los distintos tipos de almacenamiento de datos, como un almacén de datos o un lago de datos. También hay megadatos y pequeños datos caracterizados por la velocidad, el volumen y la variedad.

Además, hay que tener en cuenta diferentes técnicas de gestión e integración de datos. Por ejemplo, la virtualización de datos o las técnicas de transformación de datos o de carga de transformación de extractos. Luego están los retos habituales de la integración de datos, desde los silos de datos hasta la calidad de los mismos. No es de extrañar que, con tantas variantes posibles en la integración de datos, no exista una única solución de integración. Sin embargo, hay algunos aspectos comunes e historias de clientes que puede ser útil tener en cuenta. 

Los aspectos comunes de la integración de datos incluyen un servidor de datos maestro, fuentes de datos dispares y acceso a los datos desde el servidor maestro. Revisar las historias de los clientes sobre el proceso de integración puede ayudar a orientar a otros profesionales interesados en la integración de datos para su negocio. Un proceso estándar de integración de datos incluiría inicialmente la solicitud de un servidor de datos maestros. El servidor de datos maestros recopila los datos necesarios de fuentes internas y externas. A continuación, se procede a la extracción de fuentes de datos internas o externas para cargar los datos en una única fuente. Por último, el conjunto único de datos se devuelve al solicitante original.

La integración de datos es un potente componente de la inteligencia empresarial y la gestión de datos. Las ventajas que la integración de datos ofrece a las empresas son excepcionales. Por ello, la integración de datos debe considerarse no sólo importante, sino también una prioridad empresarial.

La integración de datos no se limita a beneficiar únicamente a los profesionales del análisis o la ciencia de datos. Gracias a una mayor colaboración, se benefician los departamentos empresariales, desde los centros de recursos de atención al cliente hasta la gestión global de la cadena de suministro. Del mismo modo, se mejoran los procesos empresariales de todo el consejo gracias a una mayor capacidad de colaboración. Dado que a menudo se producen varios procesos empresariales simultáneamente, la capacidad de ver los datos en tiempo real es extremadamente importante. La capacidad de acceder a los datos en tiempo real también es crucial para los trabajadores remotos y los equipos que se encuentran en distintas ubicaciones geográficas.

La integración de datos reduce el tiempo necesario para los procesos relacionados con los datos. Anteriormente, cualquier esfuerzo de procesamiento de datos se facilitaba en gran medida de forma manual. La recogida manual de datos hace perder un tiempo valioso a los empleados y puede minar su moral. Por ejemplo, un empleado que no esté al tanto de los nuevos esfuerzos de almacenamiento de datos probablemente tendrá que rehacer sus esfuerzos de análisis de datos. En su lugar, los procesos basados en el tiempo que antes se requerían pueden utilizarse para aumentar la productividad de la empresa. Además, cuando mejora la experiencia de los empleados, es probable que mejore también el servicio al cliente.

Además de consumir muchísimo tiempo, la necesidad de procesar manualmente los datos también es propensa al error humano. Los problemas de datos basados en errores de los empleados pueden dar lugar a importantes problemas de gestión y gobernanza de datos. Dado el valor que los datos aportan a las empresas, el acceso en tiempo real a los datos y a datos de alta calidad es esencial. Afortunadamente, existen muchas herramientas de gestión e integración de datos a disposición de las empresas. Además, los avances en el aprendizaje automático y las herramientas de integración de datos están optimizando aún más el análisis y la gestión de datos.

La integración de datos puede hacerse de muchas maneras. Comúnmente denominados métodos, técnicas, enfoques o tipos de integración de datos, existen 5 formas diferentes de integrar sus datos.
 

1. Integración de datos por lotes

En este tipo de integración de datos, los datos pasan por el proceso ETL por lotes en momentos programados (semanal o mensualmente). Se extrae de fuentes dispares, se transforma en una vista coherente y normalizada y, a continuación, se carga en una nueva tienda de datos, como un almacén de datos o múltiples data marts. Esta integración es muy útil para el análisis de datos y la inteligencia empresarial, ya que una herramienta de inteligencia empresarial o un equipo de analistas pueden simplemente consultar los datos almacenados en el almacén.

2. Integración de datos en tiempo real

En este tipo de integración de datos, los datos entrantes o en flujo se integran con los registros existentes casi en tiempo real a través de canalizaciones de datos configuradas. Las organizaciones utilizan canalizaciones de datos para automatizar el movimiento y la transformación de los datos y dirigirlos a su destino previsto. Los procesos de integración de los datos entrantes (como nuevo registro o actualización/aplicación de la información existente) se integran en la canalización de datos.

 

3. Consolidación de datos

En este tipo de integración de datos, se crea una copia de todos los conjuntos de datos de origen en un entorno o aplicación de puesta en escena, a continuación se consolidan los registros de datos para representar una única vista y, por último, se trasladan a un origen de destino. Aunque este tipo es similar a ETL, tiene algunas diferencias clave como:

  1. La consolidación de datos se centra más en conceptos como la limpieza y normalización de datos y la resolución de entidades, mientras que la ETL se centra en la transformación de datos.
  2. Mientras que ETL es una mejor opción para big data, la consolidación de datos es un tipo más apropiado para vincular registros e identificar de forma única activos de datos clave, como cliente, producto y ubicación.
  3. Los almacenes de datos ayudan principalmente al análisis de datos y al BI, mientras que la consolidación de datos también es útil para mejorar las operaciones empresariales, como utilizar el registro consolidado de un cliente para ponerse en contacto con él o crear facturas, etc.

 4. Virtualización de datos

Como su nombre indica, este tipo de integración de datos no crea realmente una copia de los datos ni los traslada a una nueva base de datos con un modelo de datos mejorado. En su lugar, introduce una capa virtual que se conecta a todas las fuentes de datos y proporciona un acceso uniforme como una aplicación front-end.
 
Al no tener su propio modelo de datos, la capa virtual tiene como objetivo aceptar las peticiones entrantes, crear resultados consultando la información necesaria en las bases de datos conectadas y presentar una vista unificada. La virtualización de datos reduce el coste del espacio de almacenamiento y la complejidad de la integración, ya que los datos parecen estar integrados pero residen por separado en los sistemas de origen.
 

5. Federación de datos

La federación de datos es similar a la virtualización de datos y a menudo se considera su subtipo. De nuevo, en la federación de datos, los datos no se copian ni se trasladan a una nueva base de datos, sino que se diseña un nuevo modelo de datos que representa una visión integrada de los sistemas de origen.
 
Proporciona una interfaz de consulta frontal y, cuando se solicitan datos, los extrae de las fuentes conectadas y los transforma en un modelo de datos mejorado antes de presentar los resultados. La federación de datos es útil cuando los modelos de datos subyacentes de los sistemas de origen son demasiado diferentes y es necesario adaptarlos a un modelo más reciente para poder utilizar la información con mayor eficacia.

Independientemente del tipo de integración de datos, el flujo del proceso de integración de datos es similar para todos ellos, ya que el objetivo es combinar y cotejar datos. En esta sección examinaremos un marco general para la integración de datos empresariales que puede utilizar al aplicar cualquier técnica de integración de datos.

 

1. Recopilación de requisitos

El primer paso en cualquier proceso de integración de datos es recopilar y evaluar los requisitos empresariales y técnicos. Esto le ayudará a planificar, diseñar y aplicar un marco que ofrezca los resultados deseados. A continuación se enumeran una serie de aspectos que deben tenerse en cuenta a la hora de recopilar requisitos:

 

  • ¿Necesita integrar datos en tiempo real o por lotes a horas programadas?
  • ¿Necesita crear una copia de los datos y luego integrarlos, o establecer una capa virtual que integre los datos sobre la marcha sin replicar bases de datos?
  • ¿Deben los datos integrados seguir un modelo de datos nuevo y mejorado?
  • ¿Qué fuentes deben integrarse?
  • ¿Cuál será el destino de los datos integrados?
  • ¿Qué departamentos funcionales de la organización necesitan acceder a la información integrada?

2. Perfiles de datos

Otro paso inicial en el proceso de integración de datos es generar informes de perfilado o evaluación de los datos que se van a integrar. Esto le ayudará a comprender el estado actual de los datos y a descubrir detalles ocultos sobre su estructura y contenido. Un informe de perfilado de datos identifica valores vacíos, tipos de datos de campo, patrones recurrentes y otras estadísticas descriptivas que ponen de relieve las oportunidades de limpieza y transformación de datos.

 

3. Revisión de los perfiles en función de los requisitos

Con los requisitos de integración y los informes de evaluación en la mano, ahora es el momento de identificar la brecha entre ambos. Muchas de las características solicitadas en la fase de definición de requisitos no son válidas o no coinciden con los informes perfilados de los datos existentes. Pero comparar ambos le ayudará a planificar un diseño de integración que cumpla el mayor número posible de requisitos.

 4. Diseño

Se trata de la fase de planificación del proceso en la que es necesario diseñar algunos conceptos clave sobre la integración de datos, tales como:
 
  • El diseño arquitectónico que muestra cómo fluirán los datos entre los sistemas,
  • Los criterios de activación que deciden cuándo se producirá la integración o qué la activará,
  • El nuevo y mejorado modelo de datos y las asignaciones de columnas que definen el proceso de consolidación,
  • Las reglas de limpieza de datos, normalización, mapeo y garantía de calidad que deben configurarse para una integración sin errores, y
  • La tecnología que se utilizará para implantar, verificar, supervisar e iterar el proceso de integración.

5. Implementar

Una vez diseñado el proceso de integración, es hora de ejecutarlo. La ejecución puede ser incremental: integrar pequeños volúmenes de datos procedentes de fuentes menos conflictivas y, a continuación, aumentar iterativamente los volúmenes y añadir más fuentes. Esto puede ser útil para detectar los errores iniciales que puedan producirse. Una vez completada la integración de los datos existentes, ya puede centrarse en integrar los nuevos flujos de datos entrantes.
 

6. Verificar, validar y controlar

En la fase de verificación, hay que comprobar la precisión y eficacia del proceso de integración de datos. Perfilar el origen de destino puede ser una buena forma de detectar errores y validar la integración. Hay una serie de áreas que deben probarse antes de que la instalación de integración pueda entregarse a futuras actividades, por ejemplo:
 
  • La pérdida de datos es mínima o nula,
  • La calidad de los datos no se ha deteriorado tras la integración,
  • El proceso de integración funciona siempre según lo previsto,
  • El significado de los datos no ha cambiado durante la integración,
  • Las medidas anteriores siguen siendo válidas después de un cierto periodo de tiempo.

Dados los grandes volúmenes de datos que las organizaciones almacenan e integran, los esfuerzos manuales están fuera de lugar en la mayoría de las iniciativas de integración. Utilizar la tecnología, una herramienta, para integrar y consolidar datos que residen en fuentes separadas puede ser más eficaz, eficiente y productivo. Veamos algunas de las características más comunes que puede buscar en una herramienta de integración de datos:

  • Capacidad para extraer datos de una amplia variedad de fuentes, como bases de datos SQL u Oracle, hojas de cálculo y aplicaciones de terceros.
  • La capacidad de perfilar conjuntos de datos y generar un informe exhaustivo sobre su estado en términos de integridad, reconocimiento de patrones, tipos y formatos de datos, etc.
  • Capacidad para eliminar ambigüedades, como valores nulos o residuales, eliminar ruidos, corregir errores ortográficos, sustituir abreviaturas, transformar el tipo de datos y el modelo, etc.
  • La capacidad de asignar atributos de fuentes de datos independientes para resaltar el flujo de integración.
  • La capacidad de ejecutar algoritmos de comparación de datos e identificar los registros que pertenecen a la misma entidad.
  • Capacidad para sobrescribir valores cuando sea necesario y fusionar registros entre fuentes para obtener el registro de oro.
  • La capacidad de realizar la integración de datos en momentos programados o de integrarlos en tiempo real mediante llamadas a la API o mecanismos similares.
  • La posibilidad de cargar los datos integrados en cualquier base de datos de destino.solución
Integracion-de-datos-ETL

¿Qué es la herramienta ETL?

Para realizar las labores de reporting y análisis de datos hay que tener en cuenta que el formato y estructura de las bases de datos fuentes de nuestra información no es la adecuada, y la estructura de sus tablas no es la óptima para hace informes o análisis. En muchos casos las sentencias SQL que se requerirían no serían eficientes. Esta ineficiencia se debe principalmente por 2 razones:

  • La estructura o esquema de las bases de datos orígenes de nuestra información están diseñadas para hacer transacciones. Ejemplo de una transacción podría se dar de alta a un cliente, o registrar una venta, pero determinar todos los clientes de una delegación determinada no es una transacción sino un proceso de reporting, en este sentido el repositorio para este fin debe convertirse en un Data Warehouse (Almacén de Datos) con un esquema en *estrella ( o al menos acercarse a un esquema de este tipo).

 *En las bases de datos  que forman un data warehouse, 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. Si se observa gráficamente  la de tabla de hechos (parte central) más grande rodeada de radios o tablas más pequeñas por lo que se asemeja a una estrella, de ahí el nombre a este tipo de esquema o modelo de datos.

Las tablas de dimensiones tendrán siempre una clave primaria simple, mientras que en la tabla de hechos, la clave principal estará compuesta por las claves principales de las tablas dimensionales.

            
  • Muchas veces es necesario agrupar o agregar datos de distintas fuentes  lo que nos obliga a  formar un único repositorio, el Data Warehouse.

Una vez que tenemos claro la necesidad de la creación del Data Warehouse, las labores de ETL sirven para actualizarlo periódicamente, por lo que Extraemos los datos de la fuentes , los Tratamos (cambiamos formatos, agregamos, etc.) y Cargamos en la base de datos destino. Para la anteriores tareas evidentemente utilizaremos almacenamiento y tablas de datos intermedias.

El concepto de ETL está relacionado con de ELT (Extract, Load and Trasnform)  que es una forma de hacer estas tareas (siempre que se pueda) de forma distinta. Primero se extrae, luego se almacena los datos en la base de datos final, y tercero, en esta base de datos se modifican o transforman los datos. Cada método tiene sus pros y sus contras (ver artículo ETL vs ELT).

El concepto de Integración de Datos es más genérico que el de ETL, por lo que se puede decir que las tareas de ETL son un tipo de Integración de Datos, de esta forma Integración de Datos abarca a cualquier tarea que signifique acceder a datos (Bases de datos, ficheros, API’s, etc), trasformar esos datos (normalizarlos, limpiarlos, agregarlos, etc.) y dejarlos en cualquier repositorios (Bases de datos, ficheros , API’s). Algunas de las tareas de Integración de Datos  son: Creación de data lakes, Gestión de datos maestros y consistencia de datos, migraciones de bases de datos para distintas aplicaciones, replicación de bases de datos (data replication),  o como hemos comentado Datawarehousing.

¿Cuales son las 3 principales herramientas ETL Open Source?

Talend ETL 

Esta empresa francesa combina Talend Open Studio y Talend ESB. Ofrece una interfaz gráfica de modelado basada en el IDE Eclipse. Su gestión del rendimiento permite manejar Big Data con el enfoque ELT (Extract Load Transform).

Cloudera

Este proveedor desarrolla CDH, una distribución de Hadoop, como Apache. Es un reproductor puro respaldado por Intel. Ofrece funciones de seguridad e integración, y proporciona formación y certificación para desarrolladores, administradores y analistas.

Pentaho

Pentaho es un proveedor de BI con un ladrillo ETL. Se basa en el proyecto Kettle, con licencia LGPL. Una funcionalidad de desglose permite combinar herramientas gráficas para realizar análisis exploratorios mediante referencias cruzadas.