Dataform: Snapshots (SCD2) y el Data Reliability
Autor: Eduardo Martínez Agrelo
La pregunta más peligrosa en una entrevista técnica es: "¿Cómo manejas los cambios en las dimensiones?". Si sobreescribes tus tablas de usuarios cada vez que alguien cambia de categoría (de Standard a VIP, por ejemplo), pierdes la historia. En este laboratorio, aprenderemos a mantener la integridad temporal mediante Snapshots y a prevenir errores catastróficos con Unit Testing.
Snapshots: Viajando en el tiempo (SCD Tipo 2)
Para solucionar el problema de la pérdida de historial, utilizamos los Snapshots de tipo 2 (Slowly Changing Dimensions):
- Comparación inteligente: Dataform compara la tabla origen con el snapshot actual.
- Control de versiones: Si detecta un cambio en un atributo clave (como el nivel de usuario), no sobrescribe el registro anterior.
- Vigencia: Cierra la validez del registro antiguo con una fecha fin y abre uno nuevo con la fecha inicio actual. Esto nos permite consultar cómo era el cliente "hace 6 meses" con precisión absoluta.
Unit Testing: El seguro de vida del Data Engineer
¿Cómo sabes que tu lógica de negocio (ej. cálculo de descuentos) es correcta antes de desplegarla a producción? Hacemos pruebas unitarias.
En Dataform, el Testing nos permite:
- Simular datos: Inyectamos datos de prueba controlados (input).
- Validar resultados: Definimos qué resultado esperamos obtener (expect).
- Bloquear fallos: Si el código SQL rompe la lógica esperada, el test falla y el despliegue a producción se detiene, protegiendo tus reportes de BI.
Implementación práctica
En este laboratorio, configuraremos nuestra primera tabla de tipo snapshot para los usuarios y escribiremos nuestro primer unit test para validar la lógica de descuentos VIP. Verás cómo, con un poco de rigor técnico, puedes pasar de un sistema frágil a una arquitectura a prueba de balas.
Conclusión: Ingeniería de confianza
Al implementar Snapshots y Tests Unitarios, has elevado tu perfil a un nivel donde la calidad es la prioridad. Ya no solo entregas datos; entregas datos fiables. Estás listo para el último desafío: el análisis avanzado de cohortes y la seguridad en BigQuery.