Índice
En el mundo de los datos, la información y cómo la transformamos es fundamental para extraer valor y poder tomar decisiones estratégicas.
Tradicionalmente, los procesos de ETL (siglas correspondientes a Extract, Transform and Load en inglés) han sido el estándar, donde los datos se extraían de diversas fuentes, se limpiaban y finalmente eran almacenados en un data warehouse. Con la llegada de las plataformas en la nube, el enfoque ELT (Extract, Load and Transform) ha ido ganando popularidad. En este caso, primero se guardan los datos y luego se realizan las transformaciones necesarias.
Aquí es donde DBT (Data Build Tool) entra en juego, una herramienta que facilita la transformación de datos. DBT compila y ejecuta el código en la plataforma de datos, permitiendo colaboraciones entre los distintos miembros del equipo, así como la definición de métricas y KPIs.
1. ¿Que es DBT?
Siempre me ha gustado definir DBT como un “SQL con vitaminas”.
En realidad, lo que hace DBT es ayudarse de Python y Jinja para tener mucha más flexibilidad. Jinja es un motor de plantillas para Python. Esto nos permite generar funcionalidades y código que podemos reaprovechar, generando proyectos simples y sin repeticiones.
El elemento principal son los modelos. Son archivos SQL que definen cómo transformar nuestros datos. Estas consultas SQL crean tablas o vistas en la base de datos. DBT se encarga de ejecutarlo en el orden correcto.
Los sources son las tablas originales que usamos para hacer las transformaciones y obtener nuestras tablas finales.
Además, DBT permite agregar tests para asegurar una buena calidad de los datos y documentación que nos va a permitir generar documentación de forma automática sobre los modelos y su relación entre ellos.
Para finalizar, DBT nos permite importar librerías con funciones ya definidas o nuestras propias librerías. Esto nos va a permitir ahorrar mucho tiempo y esfuerzo en casos que ya están resueltos.
2. Mejoras con DBT
Con el uso de DBT, encontramos mejoras a ciertos desafíos en la transformación de datos:
Si conoces SQL, puedes desarrollar con DBT sin problemas; no es necesario conocer otras tecnologías o infraestructuras complejas.
Se recomienda incorporar prácticas como control de versiones y pruebas automatizadas, lo que permite detectar errores antes de que lleguen a producción con garantías de datos confiables. Facilitamos los despliegues mediante herramientas de integración CI/CD.
Como ya hemos comentado anteriormente, DBT permite generar módulos e importar paquetes (librerías), lo que permite la reutilización de código, mejorando la legibilidad de este.
Todas estas características han hecho que, a pesar de ser una herramienta nueva, haya ganado mucha popularidad en poco tiempo.
3. Recursos y certificaciones
Podemos encontrar toda la información necesaria en la documentación oficial, donde podremos encontrar información sobre todas sus funciones, una guía de mejores prácticas e incluso documentación enfocada a su plataforma cloud.
Además, DBT también cuenta con una serie de cursos donde aprender desde cero todo lo necesario para manejar con soltura la herramienta. Los podéis encontrar todos aquí.
Para los más atrevidos, existen dos certificaciones oficiales para validar el dominio sobre la herramienta:
- dbt Analytics Engineering se enfoca en la construcción, prueba y mantenimiento de modelos de datos para hacer la información accesible y optimizar procesos en entornos ELT.
- dbt Cloud Administrator se enfoca en la configuración, gestión de conexiones y optimización de proyectos de DBT Cloud para que se apliquen las mejores practicas.
4. Conclusiones
Gracias a su enfoque modular y su capacidad para automatizar procesos, DBT mejora la eficiencia en los flujos de trabajo. Esto nos permite revolucionar la forma en que los equipos de datos transforman y gestionan la información, proporcionando una solución eficiente, escalable y accesible para entornos ELT.
Podemos decir que DBT es una herramienta esencial para cualquier profesional interesado en el mundo de los datos en entornos modernos.