Skip to Content

¿Qué es ETL?

La extracción, la transformación y la carga (ETL) es un proceso importante en el almacenamiento de datos cuando las empresas necesitan extraer datos de múltiples fuentes y almacenarlos en una ubicación centralizada. La lógica del proceso y el diseño de la infraestructura dependerán de los requisitos de la empresa, de los datos que se almacenan y de si el formato está estructurado o no.

¿Qué es ETL?

Los datos extraídos de varias fuentes deben almacenarse de una forma específica para permitir que las aplicaciones, el aprendizaje automático, la inteligencia artificial y los análisis trabajen con ellos. El proceso ETL es un grupo de reglas empresariales que determinan las fuentes de datos utilizadas para extraer datos, transformarlos en un formato específico y luego cargarlos en una base de datos. Los datos pueden ser estructurados o no estructurados, o pueden ser ambos.

Una vez que se produce el proceso ETL, los datos se almacenan en un almacén de datos donde los administradores pueden gestionarlos aún más. Los administradores responsables de las bases de datos que almacenan los datos ETL gestionan los registros, las auditorías y las copias de seguridad. Los datos de registro de los eventos ETL también pueden pasar por su propio pipeline de datos antes de almacenarse en un almacén de datos para realizar análisis administrativos.

El proceso ETL

ETL tiene tres pasos: extraer, transformar y cargar. Los administradores de bases de datos, los desarrolladores y los arquitectos de la nube suelen diseñar el proceso ETL usando reglas empresariales y requisitos de aplicación. El diseño de un proceso ETL aborda los tres pasos siguientes:

  • Extraer: Los datos brutos para la extracción pueden provenir de una o varias fuentes. Las fuentes pueden ser de una API, un sitio web, otra base de datos, registros de IoT, archivos, correo electrónico o cualquier otro formato de datos ingerible. Debido a que las fuentes pueden tener varios formatos, el primer paso en ETL extrae los datos de una fuente para el siguiente paso.
  • Transformar: Las reglas empresariales y la ubicación de almacenamiento de destino definen el diseño de la transformación. Los datos deben formatearse, filtrarse y validarse antes de poder enviarlos al almacén de datos. Los datos duplicados pueden sesgar los resultados analíticos, por lo que los elementos de línea duplicados se eliminan antes de almacenarlos. Los datos tienen un formato que permite almacenarlos. Por ejemplo, un número de teléfono puede almacenarse con o sin guiones, por lo que el proceso de transformación añade o elimina guiones antes de enviarlo al almacenamiento.
  • Cargar: Después de la transformación, los datos se envían al almacén de datos para su almacenamiento. Los datos deben conservarse y evitarse los duplicados, por lo que el paso de carga debe tener en cuenta los cambios incrementales cada vez que se ejecuta el proceso ETL. ETL suele ejecutarse varias veces al día para las grandes empresas, por lo que solo se añaden nuevos datos sin afectar a los datos de las aplicaciones actuales que ya están almacenados en la base de datos.

Ventajas de ETL

Una vez diseñado un proceso ETL, se ejecuta automáticamente a lo largo del día. Algunos procesos ETL pueden ser semanales o mensuales y la mayoría de los motores de bases de datos ofrecen un programador que se ejecuta en el servidor para ejecutar tareas a una hora determinada. Un proceso ETL bien diseñado no necesita muchos cambios y puede importar datos de varias fuentes sin interacción manual.

Los datos brutos sin ninguna transformación suelen ser inútiles para los análisis, sobre todo si su empresa utiliza datos similares de varias fuentes. Por ejemplo, una empresa que trabaja con análisis de tráfico puede extraer datos de varias fuentes gubernamentales diferentes. Es muy probable que todas las fuentes creen registros duplicados, pero un proceso ETL tomará los datos, eliminará los duplicados y formatee los datos para las aplicaciones analíticas internas. Las empresas pueden extraer datos de numerosas ubicaciones y prepararlos automáticamente para los análisis internos, lo que también impulsa las decisiones empresariales futuras y los lanzamientos de productos.

ETL acelera las actualizaciones de datos, por lo que beneficia a las empresas que necesitan trabajar con datos actuales o en tiempo real. Tradicionalmente, las importaciones de datos eran por lotes y ETL era lenta. Es posible que las empresas no vean cambios en los datos durante varias horas, pero la tecnología ETL actual proporciona actualizaciones a los datos para que los análisis puedan reflejar los cambios recientes en las tendencias.

Herramientas y tecnologías ETL

Para los pipelines de datos grandes, la mayoría de las organizaciones utilizan herramientas y scripts personalizados para ETL. Los motores de bases de datos suelen incluir sus propias características ETL para que las empresas puedan importar datos. La manera de almacenar los datos depende de si necesita datos no estructurados o estructurados. Los datos estructurados requieren más formato que los datos no estructurados, por lo que cualquier herramienta lista para usar debe integrarse con la plataforma de base de datos elegida.

Unas pocas herramientas para ETL:

  • Relato: Ofrece una interfaz gráfica de usuario de código abierto para la integración de los pipelines de datos de arrastrar y soltar.
  • Informatica PowerCenter: Proporciona a los usuarios finales las herramientas para importar datos y diseñar sus propios pipelines de datos para proyectos empresariales.
  • AWS Glue: Le permite diseñar ETL a partir de datos no estructurados y estructurados para almacenarlos en cubos S3.
  • Google Cloud Dataflow: Le permite crear procesos ETL sin servidor para almacenar datos en la Google Cloud Platform (GCP).

Mejores prácticas para la implementación de ETL

La clave para un buen diseño ETL es el rendimiento y la precisión. El rendimiento suele depender de la infraestructura subyacente, por lo que es importante tener un almacén de datos que pueda escalarse y seguir el ritmo de las cargas crecientes. Los datos estructurados suelen tardar más tiempo en transformarse debido a las numerosas limitaciones de la tabla, pero las soluciones como FlashArray ™ se han creado para las grandes importaciones de datos y garantizan que los pipelines locales sigan funcionando rápidamente.

Diseñe siempre procesos ETL para escala y lo desconocido. Es muy posible que con el tiempo importe un registro que no pueda transformarse. Cualquier error debe registrarse y los registros deben almacenarse para su posterior revisión. Puede significar que hay un error en su ETL o que el diseño no tiene un caso perimetral que pueda solucionarse con cambios en el código ETL.

No todos los procesos ETL funcionan con servidores físicos, por lo que soluciones como Portworx ® manejan bases de datos y analíticas virtualizadas y contenedorizadas. Los servicios contenedorizados deben escalarse a medida que se importan más datos y trabajar con herramientas de orquestación comunes. Portworx se integra con herramientas de orquestación, como Kubernetes, para crear pipelines dinámicos y actualizados de manera constante.

Retos y soluciones en ETL

Debido a que las fuentes de datos y los requisitos empresariales cambian continuamente, los administradores responsables del diseño de ETL tienen problemas asociados con la escala, las actualizaciones y el control de calidad. Los problemas de escalamiento suelen deberse a las limitaciones del espacio de almacenamiento, por lo que los administradores pueden solucionar este problema con un almacenamiento que se escala con un aumento de los requisitos de almacenamiento de datos.

Los retos que plantean los requisitos cambiantes de la empresa suelen estar bajo mantenimiento. Una fuente de datos puede cambiar la forma en que se almacenan los datos o los desarrolladores pueden realizar cambios en una aplicación que requiera cambios en las estructuras de transformación o carga. Sin tener ninguna documentación de fuentes de datos de terceros para alertar a los administradores, los cambios en los requisitos de almacenamiento o carga de datos no se presentan hasta que se producen errores en el proceso ETL. El registro y las alertas ayudan a los administradores a identificar los problemas de manera temprana, para que puedan realizar cambios en la codificación ETL. Los primeros cambios reducen el impacto de los errores en la productividad y los ingresos de la empresa.

El diseño de un proceso de ETL es una de las tareas más difíciles, pero puede ser más fácil cuando los administradores hablan con las partes interesadas y se aseguran de que se cumplan las normas empresariales. El rediseño y la refactorización de un diseño ETL pueden retrasar el despliegue y añadir sobrecargas innecesarias. Documente todas las reglas de la empresa para que cada caso pueda incluirse en un diseño ETL para evitar reescrituras excesivas.

Mantenga varios procesos ETL separados e independientes entre sí. Esta solución garantiza que todo el proceso ETL no falle si falla un componente. Por ejemplo, si una API externa falla, la extracción de datos de todas las otras fuentes sigue completando hasta que la API esté disponible de nuevo. También es posible crear múltiples programas ETL si es necesario. Si trabaja con múltiples plataformas en la nube, el almacenamiento en la nube de Pure Storage admite AWS , Azure , GCP y otras plataformas importantes.

ETL frente a ELT 

Es importante tener en cuenta que la ETL puede consumir muchos recursos y puede introducir cierta latencia en la disponibilidad de los datos, especialmente cuando se trata de grandes conjuntos de datos. Si el procesamiento de datos en tiempo real o casi en tiempo real es un requisito crítico, otros métodos de integración de datos, como la captura de datos de cambio (CDC) o los pipelines de datos de transmisión, pueden ser más adecuados.

Además, en los últimos años, el ELT (extraer, cargar, transformar) se ha convertido en una alternativa popular al ETL, sobre todo en entornos de datos basados en la nube, en los que la transformación de datos puede realizarse dentro del sistema de almacenamiento de datos de destino. El ELT puede ser más rentable y escalable para algunos casos de uso, pero la elección entre ETL y ELT depende de sus requisitos específicos y de las tecnologías que esté usando.

Conclusión

El diseño de una solución ETL lleva tiempo, pero no olvide crear un sistema que se escale con el aumento del almacenamiento de datos. Uno de los retos más fáciles de resolver es la capacidad de almacenamiento de datos y las soluciones de Pure Storage se han creado para el almacenamiento de datos para los datos no estructurados y estructurados.

Otros retos pueden resolverse con unos buenos estándares de diseño, documentación y pruebas de garantía de calidad. Es posible que algunas herramientas le ayuden con el diseño, pero el ETL suele personalizarse para la empresa. Pruebe una pequeña muestra de datos en un entorno de ensayo y espere mantener continuamente la codificación ETL a medida que se introducen nuevos requisitos empresariales.

12/2024
Portworx on Red Hat OpenShift Bare Metal Reference Architecture
A validated architecture and design model to deploy Portworx® on Red Hat OpenShift running on bare metal hosts for use with OpenShift Virtualization.
Arquitectura de referencia
33 páginas
CONTACTAR CON NOSOTROS
¿Preguntas, comentarios?

¿Tiene alguna pregunta o comentario sobre los productos o las certificaciones de Pure?  Estamos aquí para ayudarle.

Programe una Demostración

Programe una demostración en vivo y vea personalmente cómo Pure puede ayudarle a convertir sus datos en unos resultados potentes. 

Llámenos al: +34 51 889 8963

Medios de comunicaciónpr@purestorage.com

 

Castellana 81

28046 Madrid

Oficinas Pure: 1415 y 1417 (planta 14)

info@purestorage.com

CERRAR
Your Browser Is No Longer Supported!

Older browsers often represent security risks. In order to deliver the best possible experience when using our site, please update to any of these latest browsers.