¡Vuelven las hombreras!

Pasan los años, y todo termina volviendo. Esa frase seguro que la has escuchado en más de una ocasión. La diferencia, es que normalmente se usaba en lo referente al mundo de la moda (como evoca el título del artículo) y no en lo que a datos se trata. ¡Hoy comprobaremos que también aplica!

En los 90 la fiebre por la analítica arrancó y casi todas las empresas (con posibles) se lanzaron a crear su propio Data Warehouse. El modelado de datos tuvo su momento, sobre todo con aquellos debates acerca de si debía de ser un modelo en estrella o mejor en copo de nieve. Además, los cubos eran lo más en la generación de Insights en Analítica Avanzada, el lenguaje que lo «petaba» era SQL y por supuesto, los datos NO estructurados eran poco más que irrelevantes.

Desde entonces mucho ha cambiado el ecosistema del dato. Tanto a nivel de tecnologías, como a la aparición de nuevas aproximaciones y paradigmas como Data Mesh, Data Fabric, Lakehouse, Modern Data Warehouse, etc. Pero también hay muchas otras cosas que no han cambiado. Por ejemplo, el modelado de datos es fundamental para optimizar el consumo de la información por los usuarios de negocio y aquí hay una herramienta que se ha convertido en los últimos años en el estándard del mercado, dbt.

dbt (Data Build Tool)
Es una herramienta de código abierto diseñada para transformar datos en el almacén de datos mediante SQL gestionado como código. Permite definir modelos, documentarlos, probarlos y versionarlos, todo dentro de un flujo de trabajo reproducible y escalable. Es compatible con metodologías como Data Vault 2.0 y se integra fácilmente con plataformas como DatabricksSnowflakeAzure Container Instance y Kubernetes.

¿Cómo funciona?
Se integra fácilmente con sistemas de orquestación como Airflow, contenedores en Azure (ACI) o servicios como Snowpark Container Services. Además, permite usar plantillas SQL y funciones como ref() para establecer relaciones entre modelos que compila mediante consultas SQL que se ejecutan en el motor del Data Warehouse (Snowflake, BigQuery, Databricks, etc.).

Principales ventajas de dbt

  1. Transformación como código. Permite aplicar buenas prácticas de desarrollo DataOps como versionado, modularidad, test al propio modelo de datos.
  2. Pruebas automatizadas. Se pueden definir test para validar la calidad e integridad de los datos tras las transformaciones.
  3. Documentación interactiva. Permite la generación de documentación navegable y actualizada de los modelos. Algo que facilita la colaboración entre los equipos.
  4. Gestión de dependencias. dbt gestiona automáticamente el orden de ejecución entre modelos, evitando errores por dependencias incorrectamente definidas.
  5. Escalabilidad y flexibilidad. Se adapta a entornos distintos: desde soluciones construidas sobre contenedores en Azure, como ejecuciones nativas en Snowflake Workspace gracias a dbt Projects.
  6. Coste ajustado. dbt dispone de la versión open source dbt Core que permite evitar licencias más costosas como dbt Cloud manteniendo funcionalidades clave para las organizaciones.

Por todo esto, junto con la necesidad de las organizaciones de adherirse a las buenas prácticas DataOps para mantener la trazabilidad y el alineamiento entre entornos, así como incorporar validaciones y test de calidad en los datos, hacen de dbt la pieza clave hoy en día para casi cualquier proyecto de datos. Tanto es así, que desde hace tiempo Snowflake ha sido consciente de ello y ha extendido la colaboración que ambas compañías iniciaron tiempo atrás y ahora, como ya he mencionado brevemente, dispones de la posibilidad de utilizar dbt directamente en Snowflake mediante dbt Projects.

¿Qué es dbt Project en Snowflake?
dbt Project en Snowflake permite ejecutar proyectos de dbt Core directamente dentro del entorno de Snowflake, sin necesidad de infraestructura externa. Algo esencial ya que permite simplificar mucho los escenarios previos donde dbt Core tenía que correr sobre contenedores orquestados por Airflow o incluso distribuciones en Kubernetes orquestados por Argo en función de las propias necesidades de las compañías. Además, se basa en el uso de Snowsight Workspaces como entorno de desarrollo, y aprovecha los virtual warehouses para ejecutar transformaciones.

  • Los proyectos se definen mediante archivos .sql y dbt_project.yml.
  • Se integran con Git para control de versiones.
  • Se ejecutan mediante comandos SQL como EXECUTE DBT PROJECT.

Esta funcionalidad está pensada para simplificar el stack de datos, consolidando el desarrollo, la ejecución y la gobernanza en una única plataforma.

¿Qué ventajas destacar frente a otras opciones?

  1. Eliminación de infraestructuta externa. Ya no es necesario desplegar dbt en contenedores ni usar orquestadores. Esto reduce los costes operativos y la complejidad técnica.
  2. Gobernanza centralizada. Al ejecutarse dentro del propio Snowflake, se heredan sus políticas de seguridad, roles RBAC, auditoría y trazabilidad. Esto ayuda en el cumplimiento normativo y la gestión de accesos.
  3. Mayor productividad. Los equipos de datos pueden desarrollar, probar y desplegar modelos sin cambiar de entorno, lo que acelera el ciclo de vida de los datos y mejora la colaboración entre los equipos de analistas e ingenieros.
  4. Escalabilidad nativa. Al usar los warehouses de Snowflake, dbt Project se beneficia de la elasticidad y rendimiento del motor de Snowflake, sin necesidad de configurar recursos externos.
  5. Coste ajustado. Si se compara con otros servicios licenciados de dbt o despliegues custom en contenedores, dbt Project en Snowflake representa una solución bastante más económica y sostenible para buena parte de las organizaciones en sus proyectos de datos.

Con esta reflexión, quiero poner el valor lo bien que están haciendo las cosas desde Snowflake para simplificar la labor de los equipos de datos en su día a día y dotar de herramientas fundamentales para el éxito de los proyectos de datos e inteligencia artificial. En un momento en el que hay mucho hype, ver que la línea de actuación está comprometida con la generación de valor al usuario y sobre todo a las organizaciones es reconfortante. ¡Gracias!

Foto de portada gracias a Photo By: Kaboompics.com: https://www.pexels.com/es-es/foto/mujer-cafeina-telefono-inteligente-navegando-7680203/

Publicado por alb3rtoalonso

Soy un enamorado del poder de los datos. Entusiasta de la mejora y formación continua.

Deja un comentario