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 a menudo depende de la infraestructura subyacente, por lo que es importante tener un almacenamiento de datos que pueda escalar y mantenerse al día con las cargas crecientes. Los datos estructurados a menudo tardan más tiempo en transformarse debido a las muchas limitaciones de la tabla, pero las soluciones como FlashArray ™ están diseñadas para grandes importaciones de datos y garantizan que los procesos en las instalaciones continúen funcionando rápidamente.
Siempre diseñe procesos ETL para escala y lo desconocido. Es muy posible que eventualmente importe un registro que no se pueda transformar. Cualquier error debe registrarse y los registros deben almacenarse para una revisión adicional. Podría significar que hay un error en su ETL o que el diseño pierde un caso de borde que se puede corregir con cambios en el código ETL.
No todos los procesos de ETL funcionan con servidores físicos, por lo que las soluciones como Portworx ® manejan bases de datos y análisis virtualizadas y en contenedores. Los servicios en contenedores deben escalar a medida que se importan más datos y funcionan con herramientas de organización comunes. Portworx se integra con herramientas de organización que incluyen Kubernetes para procesos dinámicos y actualizados de manera consistente.
Desafíos y soluciones en ETL
Debido a que las fuentes de datos y los requisitos comerciales cambian continuamente, los administradores responsables de diseñar ETL tienen desafíos asociados con la escala, las actualizaciones y el control de calidad. Los desafíos de escalamiento generalmente provienen de las limitaciones del espacio de almacenamiento, por lo que los administradores pueden solucionar este problema con el almacenamiento que escala con un aumento en los requisitos de almacenamiento de datos.
Los desafíos con los requisitos cambiantes del negocio suelen estar sujetos a 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 la transformación o las estructuras de carga. Sin tener documentación de fuentes de datos de terceros para alertar a los administradores, los cambios en los requisitos de almacenamiento de datos o carga no se presentan hasta que se producen errores en el proceso de ETL. El registro y las alertas ayudan a los administradores a identificar los problemas de forma 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 del negocio.
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 incluyan las reglas comerciales. Rediseñar y refactorizar un diseño de ETL puede retrasar la implementación y agregar gastos generales innecesarios. Documente todas las reglas comerciales para que cada caso pueda incluirse en un diseño de ETL para evitar reescrituras excesivas.
Mantenga varios procesos de ETL separados e independientes entre sí. Esta solución garantiza que todo el proceso de ETL no falle si falla un componente. Por ejemplo, si una API externa se bloquea, la extracción de datos de todas las demás fuentes aún se completa hasta que la API esté disponible nuevamente. También es posible crear varios cronogramas de ETL si es necesario. Si trabaja con varias plataformas en la nube, el almacenamiento en la nube de Pure Storage es compatible con AWS , Azure , GCP y otras plataformas importantes.
ETL frente a ELT
Es importante tener en cuenta que ETL puede requerir muchos recursos y puede introducir cierta latencia en la disponibilidad de 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 procesos de transmisión de datos pueden ser más adecuados.
Además, en los últimos años, ELT (extraer, cargar, transformar) se ha convertido en una alternativa popular a ETL, especialmente en entornos de datos basados en la nube donde la transformación de datos se puede realizar dentro del sistema de almacenamiento de datos objetivo. 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é utilizando.
Conclusiones
Diseñar una solución de ETL lleva tiempo, pero no olvide crear un sistema que se escale con el aumento del almacenamiento de datos. Uno de los desafíos más fáciles de resolver es la capacidad de almacenamiento de datos, y las soluciones de Pure Storage están diseñadas para el almacenamiento de datos para datos estructurados y no estructurados.
Se pueden resolver otros desafíos con buenos estándares de diseño, documentación y pruebas de garantía de calidad. Es posible que descubra que algunas herramientas pueden ayudar con el diseño, pero la ETL a menudo se personaliza para la empresa. Pruebe una pequeña muestra de datos en un entorno de almacenamiento provisional y espere mantener continuamente la codificación ETL a medida que se introducen nuevos requisitos comerciales.