Extraer, transformar y cargar (ETL, Extract, Transform, Load) es el proceso de compilación de datos a partir de un número ilimitado de fuentes, su posterior organización y centralización en un único repositorio.

En la mayoría de empresas los datos potencialmente útiles resultan inaccesibles; un estudio ha revelado que dos terceras partes de las sociedades o bien obtiene “pocos resultados tangibles” de sus datos o no obtiene ninguno. Los datos suelen estar aislados en compartimentos estancos, sistemas heredados o aplicaciones muy poco utilizadas. El ETL es el proceso por el que se ponen a disposición esos datos extrayéndolos de múltiples fuentes (como ilustra el diagrama de arriba) y transformándolos en datos útiles para la limpieza, la transformación y, por último, la obtención de información corporativa.

Hay quien efectúa los procesos de ETL programando manualmente en SQL o Java, pero existen herramientas que simplifican el proceso. En este artículo se analizan varios casos de aplicación de ETL, las ventajas que reporta el uso de una herramienta de ETL en lugar de programar a mano y las ventajas que deberían esperar encontrar los clientes en las herramientas de ETL.

Ver Guía de inicio sobre integración de datos ahora
Ver ahora

¿Para qué se utiliza un proceso de ETL?

En prácticamente cualquier operación empresarial los datos desempeñan un papel importante; para que tengan valor, deben trasladarse y prepararse para su uso, y para ello se necesitan procesos de ETL. Enumeramos algunos casos de aplicación de ETL:

  • Migración de datos de una aplicación a otra
  • Replicación de datos para copias de seguridad o análisis de redundancia
  • Procesos operativos, como la migración de datos desde un CRM a un ODS (almacén de datos operativos) para potenciar o enriquecer los datos y luego devolverlos al CRM
  • Depositar los datos en un almacén de datos para ingerir, clasificar y transformarlos en business intelligence
  • Migración de aplicaciones de infraestructuras locales a cloud, cloud híbrida o multicloud
  • Sincronización de sistemas clave

Cómo funcionan los procesos de ETL y ELT

Un proceso de ETL suele comprender 3 fases.  Cada vez es más habitual extraer datos de sus ubicaciones originales y luego cargarlos en un almacén de datos diana o transformarlos después de cargarlos.  Este proceso recibe el nombre de ELT, en lugar de ETL. Obtenga más información sobre la diferencia entre ETL y ELT.

He aquí las tres fases del proceso de ETL:

Fase 1: Extracción

El objetivo de un proceso ETL es producir datos limpios y accesibles que puedan utilizarse para analíticas u operaciones comerciales. Los datos en bruto deben extraerse de una variedad de fuentes, por ejemplo:

  • Bases de datos existentes
  • Registros de actividad como el tráfico de red, informes de errores, etc.
  • Rendimiento y anomalías de aplicaciones
  • Incidencias de seguridad
  • Otras actividades transaccionales que deben comunicarse para dar cumplimiento normativo

Los datos extraídos en ocasiones se transfieren a otro destino como por ejemplo un data lake o un almacén de datos.

Fase 2: Transformación

La fase de transformación de ETL es donde se produce la operación más crítica. El resultado más destacado de la transformación pasa por aplicar las normas necesarias del negocio a los datos para cumplir con los requisitos de notificación.  La transformación modifica los datos en bruto para que presenten los formatos de notificación correctos.  Si los datos no se limpian, resulta más complicado aplicar las normas comerciales de notificación.

La transformación se efectúa mediante una serie de normas y reglamentos que se esbozan. Estos son algunos de los estándares que garantizan la calidad de datos y su accesibilidad durante esta fase:

  • Normalización: definir qué datos entrarán en juego, cómo se formatearán y almacenarán, y otras consideraciones básicas que definirán las etapas sucesivas.
  • Eliminación de duplicados: notificar los duplicados a los administradores de datos; excluyendo y/o eliminando los datos redundantes.
  • Verificación: ejecutar comprobaciones automatizadas para cotejar información similar, como tiempos de transacción o registros de acceso. Las tareas de verificación permiten seguir cribando los datos no utilizables y pueden alertar sobre anomalías en sus sistemas, aplicaciones o datos.
  • Clasificación: maximizar la eficiencia de los almacenes de datos agrupando y clasificando elementos como los datos en bruto, audios, archivos multimedia y otros objetos en categorías. Las normas de transformación determinarán cómo se clasifica cada dato y dónde se trasladará a continuación. A menudo el proceso de ETL se emplea para crear tablas de agregación a efectos de informes resumidos. Para ello debemos clasificar y, posteriormente, agregar.
  • Las demás tareas las define usted y las configura para que se ejecuten automáticamente.

Estas fases de transformación reducen lo que hasta ahora era un montaña de material sin utilidad posible a un producto de datos que puede presentar en la última fase del ETL: la fase de carga.

Fase 3: Carga

La última fase de un proceso de ETL típico es la carga de esos datos extraídos y transformados a su nuevo destino. Existen dos vías habituales de cargar los datos a un almacén de datos: la carga completa y la carga incremental.

La ejecución de un ciclo aislado de ETL o de una serie de ellos programada puede realizarse ejecutando una tarea desde una línea de comando o una interfaz GUI. Sin embargo, debemos estar atentos a varios frentes. Gestionar las excepciones, por ejemplo, puede resultar un proceso muy farragoso.  Muchas veces las extracciones de datos pueden fallar cuando hay incidencias en uno o varios sistemas. La existencia de datos erróneos en un sistema puede afectar a datos que estén siendo extraídos de otro, por lo que el seguimiento y la gestión de errores son actividades fundamentales.

Vídeo descriptivo de 3 minutos sobre los procesos ETL

Prácticas de datos modernas: Diferencias entre ETL y ELT

Los ELT son procesos contrastados de gestión del recorrido de los datos desde una fuente a un estado en el que estén listos para ser explotados a efectos de business intelligence. Pero con tecnologías de infraestructuras modernas cloud ahora los sistemas permiten un almacenamiento de datos masivo y una potencia computacional escalable a precios más reducidos. Por consiguiente, resulta ventajoso conservar los datos en un grupo voluminoso y cada vez mayor, con potencia de procesamiento rápido infinita para mantener los datos en bruto extraídos.

En cierto modo, es preferible un enfoque de ELT a la gestión de datos puesto que pueden conservarse todos los datos en bruto hasta que estén listos para su uso. De esta forma resulta más sencillo centrarse tan solo en la extracción y la carga de datos. No obstante, conviene no olvidarnos de la transformación de los datos, que puede aportar muchas ventajas, como por ejemplo:

  • Preparar datos para el machine learning, que mejorará notablemente la precisión de los algoritmos
  • Limpiar los datos para mejorar su calidad
  • Eliminar duplicados y encontrar correspondencias de datos
  • Normalizar valores de datos

Incluso en un mundo centrado en los data lakes, la transformación de datos es crítica para extraer todo el valor de los datos de empresa.

Herramientas de ETL frente a programación manual de procesos de ETL

Muchos informáticos se plantean si programar a mano no es mejor opción que invertir en la enésima herramienta. La mayoría de funciones de un proceso de ETL se pueden lograr programando manualmente, pero en gran parte de los casos resulta más escalable y a la larga más económico usar una herramienta para procesos de ETL.

La programación manual presenta muchas dificultades. Gestionar, soportar y reutilizar la programación manual es complejo. Que un solo desarrollador aprenda el código de otro desarrollador puede resultar muy difícil, por no hablar de reutilizarlo. Las herramientas de ETL crean una representación visual de un flujo de datos que es mucho más fácil de comprender. Programando manualmente, muchas veces vemos que los desarrolladores reescriben el código de otros, porque es más sencillo reescribir que aprender lo que ha hecho otra persona. Esta es la razón por la que los costes de mantenimiento suelen ser el doble de caros si se programa a mano. Debido a la misma barrera, es mucho menos probable que un desarrollador reutilice el código de otro desarrollador.

Además, con las herramientas de integración de datos obtendrá funcionalidades avanzadas automáticamente, como paralelización, seguimiento y tolerancia a fallos, todo integrado. Si deseara obtener las mismas funcionalidades programando manualmente, necesitaría programadores muy cualificados que aprendieran todas estas técnicas. Por último, un enfoque de programación a medida de integración de datos inhibirá el cambio de escala y la innovación, puesto que son escasos los desarrolladores cualificados para trabajar con sus integraciones programadas a medida. Los ahorros iniciales que quizá le reporte renunciar a una herramienta de ETL serán absorbidos por el pronunciado aumento de sus costes de mantenimiento.

Descargar ¿En qué consiste un proceso de ETL (Extraer, Transformar y Cargar)? ahora
Ver ahora

ETL y el cambio a cloud

Se ha demostrado que la compatibilidad con la cloud es un aspecto crítico para muchas organizaciones. A medida que las empresas se pasan a la cloud, muchas veces tienen que reevaluar su integración de datos existente y sus herramientas de ETL porque muchas herramientas tradicionales no funcionan correctamente en la cloud. No solo eso, sino que muchas empresas tienen múltiples clouds o un día deciden migrar de un proveedor de cloud (p. ej., AWS, Azure o Google Cloud Platform) a otro.

Una herramienta de ETL debería poder funcionar sin problemas con cualquier proveedor de cloud y migrar fácilmente cuando las empresas cambian de proveedor. Más vale no tener que reescribir sus canalizaciones de datos cuando cambie de plataforma cloud; lo más conveniente es que sus canalizaciones sean trasladables, de modo que pueda conectarse y desconectarse de distintas clouds, tecnologías de almacenamiento, tecnologías de procesamiento de datos y bases de datos cloud.

Qué debe buscarse en una herramienta de ETL

Las herramientas de ETL tienen el potencial de simplificar considerablemente este proceso. Las prestaciones que deberían buscarse en una herramienta de ETL son:

  • Muchos conectores: son muchos los sistemas y aplicaciones existentes en el mundo; cuantos más conectores preinstalados tenga su herramienta de ETL, más tiempo se ahorrará su equipo.
  • Código abierto: las arquitecturas de código abierto suelen ofrecer más flexibilidad, contribuyendo a la vez a evitar la dependencia de un solo proveedor.
  • Portabilidad: es importante, puesto que cada vez más las empresas se pasan a modelos de cloud híbrida, para poder crear sus integraciones de datos una vez y ejecutarlas después en cualquier ubicación.
  • Facilidad de uso: las herramientas de ETL deberían ser fáciles de aprender y utilizar con una interfaz GUI para facilitar la visualización de sus canalizaciones de datos.
  • Un modelo de precios transparente: su proveedor de herramientas de ETL no debería machacarle por aumentar el número de conectores o volúmenes de datos.
  • Compatibilidad con cloud: su herramienta de integración de datos debería funcionar de forma nativa en un entorno de una única cloud, multicloud o cloud híbrida.

ETL con Talend: Talend Data Integration frente a Talend Open Source Data Integration

Talend proporciona unas robustas herramientas de integración de datos para procesos de ETL. Con el uso de Talend para integración de datos, los usuarios pueden finalizar sus tareas de integración 10 veces más rápido que programando a mano y a un precio cinco veces más reducido que el de la competencia.

Existen dos versiones del software de integración de datos de Talend:  Talend Open Source Data Integration y Talend Data Management Platform. Eche un vistazo a una comparación entre ambas. El producto de Talend Open Source Data Integration es potente y valioso para muchas situaciones de uso; es una herramienta fantástica para el desarrollador particular que desee crear y ejecutar canalizaciones de datos.

A medida que los clientes forman equipos más grandes, buscan una mayor colaboración, una compatibilidad a escala empresarial y una productividad aún superior, la edición comercial es la más adecuada. Talend Data Management Platform ofrece otras prestaciones, como las capacidades de gestión y seguimiento, calidad de datos integrada en la misma plataforma o asistencia suplementaria por web, correo electrónico y teléfono. Ambas proporcionan funcionalidad multicloud nativa, escalabilidad para cualquier tipo de proyecto y 900 conectores preinstalados.

El proceso de ETL es fundamental para dar utilidad a los datos en la empresa. Las herramientas de Talend simplifican la ejecución de procesos de ETL. Pruebe Talend Open Source Data Integration y descubra de cuántos datos puede obtener rendimiento para su empresa sin sacrificar en velocidad ni productividad.