dbt: La plataforma de transformación de datos que está creciendo rápidamente
Tabla de contenido
En el mundo de los datos y la ingeniería analítica hay una plataforma que lleva un tiempo ganando adeptos y generando gran interés: dbt (Data Build Tool).
A continuación trataré de describir brevemente qué es dbt, para qué se utiliza, qué perfiles usan esta plataforma y cuáles son sus principales ventajas.
Quiero también dejar claro que no soy un experto en dbt, y de hecho llevo sólo unas semanas aprendiendo sobre la plataforma. Mis primeras impresiones han sido muy buenas y me he puesto como uno de mis objetivos a corto-medio plazo ampliar mis conocimientos sobre la plataforma debido a su utilidad a la hora de tender puentes entre analistas de datos e ingenieros de datos, así como por el creciente interés que está despertando en muchas empresas.
¿Qué es DBT (Data Build Tool)?#
dbt (Data Build Tool) es una plataforma diseñada para facilitar la transformación de datos de los data warehouses. Con un enfoque centrado en la escalabilidad y facilidad de uso, dbt permite partir de los datos en bruto y convertirlos en datos estructurados y listos para el análisis de forma más eficiente, rápida y fácil de gestionar.
Todo en dbt se basa en el uso de ficheros de comandos de SQL y YAML, facilitando con ello la centralización de la preparación de datos y la realización de tests de control y calidad, al mismo tiempo que se documenta todo el proceso. Permitiendo tener una visión completa del linaje de los datos desde la fuente original, hasta su puesta a punto definitiva para el análisis Todo dentro de la misma plataforma.
¿Para qué se utiliza DBT?#
dbt se utiliza principalmente para la transformación de datos, realización de tests y centralización de la documentación de estos procesos. Se conecta directamente a un data warehouse, para partiendo de los datos en bruto o crudos, realizar todas las transformaciones que son habituales en procesos de ingeniería de datos: agregaciones, cálculos y limpieza de datos.
El enfoque de dbt es pasar de procesos tradicionales de ETL (Extract, Transform, Load - Extraer, Transformar, Cargar -) en el cual los datos se extraían de un sistema, se transformaban y luego se cargaban en un data warehouse, a un enfoque ELT (Extract, Load, Transform).
La idea de este enfoque ELT es facilitar el uso de los datos en las empresas. Para ello, los datos no haría falta transformarlos antes de llegar al data warehouse, sino que se cargan en él en bruto desde los sistemas de origen. Es entonces cuando los ingenieros de analítica, o analytics engineers, usan dbt para transformar esos datos en bruto (la T en ELT) a través de comandos de SQL.
¿Por qué realizar esa transformación directamente en el data warehouse y tras la extracción y carga? Porque permite un mayor control de todo el proceso y facilita que se puedan disponer siempre de los datos en bruto para dar soporte de manera más ágil a todo tipo de casos de uso actuales y futuros dentro de la empresa. Al disponer siempre del dato en bruto en el data warehouse, las transformaciones pueden adaptarse, actualizarse y documentarse a medida que las necesidades cambian dentro de la organización.
¿Qué perfiles utilizan dbt?#
dbt está empezando a utilizarse mucho por ingenieros de datos, analistas de datos, científicos de datos y por un perfil que empieza a ser cada vez más importante: los ingenieros de analítica, los cuales están a medio camino entre los ingenieros de datos y los analistas. Estos profesionales usan dbt para realizar tareas complejas de transformación de datos de manera más eficiente, facilitando la gestión de los datos y poniéndolos a disposición de la empresa con mayor agilidad.
Principales ventajas de dbt#
Las principales ventajas de dbt son:
- Simplicidad: dbt se basa en SQL, un lenguaje muy familiar para la mayoría de los profesionales de datos, lo que lo hace accesible y fácil de aprender.
- Control de versiones: dbt se integra con sistemas de control de versiones como Git, lo que facilita la colaboración y monitorización de los cambios en los procesos de transformación de datos.
- Escalabilidad: El enfoque basado en comandos SQL y ficheros YAML permite comenzar con casos de uso muy concretos y crecer a medida que aumentan las necesidades de análisis de la empresa.
- Modularidad: dbt parte de una filosofía de desarrollo modular. Es decir, el desarrollo de transformaciones de datos en modulos que puedan reutilizarse. Lo que facilita el mantenimiento y el control de calidad de los procesos.
- Documentación y Tests: dbt genera automáticamente documentación de los modelos de transformación de datos y permite realizar tests a las fuentes y las columnas de datos para asegurar la calidad de la información y su cumplimiento con los requisitos de los ingenieros de datos, analistas y negocio.
Conclusión#
En definitiva, dbt facilita la centralización de los procesos de transformación de datos. Todo ello mediante comandos SQL, permitiendo un mayor control, mejor gestión y más rápida documentación de dichas transformaciones. Así se agiliza la disponibilidad de datos que cumplan con los requisitos de la empresa para su análisis y uso.
Es una plataforma que está creciendo rápidamente debido a la creciente necesidad de un mayor control y centralización de los procesos de calidad y transformación de datos. Así como al auge de profesionales especializados en esos procesos. Profesionales que están a medio camino entre los ingenieros de datos y los analisitas: los ingenieros de analítica. Cuenta además con una comunidad de usuarios en Slack a la que cualquiera puede unirse para solicitar ayuda y aprender de otras personas.