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.