Puedes leer todo sin registrarte. Solo crearemos un perfil anónimo cuando decidas guardar tu progreso.
Lección 4 de 5
AUTO CDC y el alias anterior APPLY CHANGES
SCD tipo 1 conserva el valor vigente; SCD tipo 2 crea intervalos de validez para responder cómo era una dimensión en un momento pasado.
- Duración
- 17 min aprox.
- Objetivo
- SCD tipo 1 conserva el valor vigente; SCD tipo 2 crea intervalos de validez para responder cómo era una dimensión en un momento pasado.
- Siguiente paso
- Continuar con la siguiente lección
Ver detalles del módulo
Change Data Feed, CDC, AUTO CDC y SCD
Procesa inserciones, actualizaciones y borrados respetando clave, secuencia y retención.
- Consumir Change Data Feed
- Modelar CDC con AUTO CDC y reconocer APPLY CHANGES
- Elegir SCD tipo 1 o 2
04DiagnósticoAUTO CDC y el alias anterior APPLY CHANGES
SCD tipo 1 conserva el valor vigente; SCD tipo 2 crea intervalos de validez para responder cómo era una dimensión en un momento pasado.
+
AUTO CDC y el alias anterior APPLY CHANGES
SCD tipo 1 conserva el valor vigente; SCD tipo 2 crea intervalos de validez para responder cómo era una dimensión en un momento pasado.
Tipo 1 sobrescribe atributos y es apropiado para correcciones donde la historia no aporta valor. Tipo 2 conserva versiones con columnas de inicio y fin administradas por el pipeline. Consultas de hechos históricos pueden unir el event time del hecho con el intervalo de la dimensión.
Guardar historia multiplica filas y exige decidir qué columnas disparan una nueva versión. `TRACK HISTORY ON` puede limitar ese conjunto en AUTO CDC. Campos operativos como `ingested_at` no deberían crear una versión de negocio cada vez que cambia.
Modelo mental
SCD tipo 1 y tipo 2 responden preguntas distintas. Tipo 1 representa la mejor versión vigente de cada clave y sobrescribe atributos; es compacto y sencillo, pero no puede responder qué valor se conocía antes. Tipo 2 conserva una fila por periodo de validez, normalmente con fronteras técnicas de inicio y fin, y permite consultas temporales. No todo cambio merece historia: corregir un typo técnico puede no requerir una nueva versión, mientras que dirección, segmento o consentimiento sí pueden afectar hechos y auditoría. La secuencia del CDC define cuándo comienza cada versión, no el instante en que Databricks la procesó. Deletes pueden cerrar el intervalo activo o retirar la fila vigente según el tipo. El modelador debe separar business effective time de system processing time; una SCD2 estándar basada en secuencia no es automáticamente bitemporal ni conserva cuándo se descubrió una corrección.
Modelo que mantiene una única fila vigente por clave y reemplaza atributos con el cambio más reciente.
Es apropiado cuando solo importa el estado actual y minimiza coste y complejidad.Modelo que conserva múltiples versiones por clave con intervalos de validez no solapados.
Permite análisis as-of y auditoría de atributos cuyo valor histórico afecta decisiones.Rango temporal durante el cual una versión de dimensión se considera efectiva.
Es la base para joins temporales correctos y para detectar huecos o solapamientos de historia.CREATE OR REFRESH STREAMING TABLE main.silver.customers_history;
CREATE FLOW customers_history_flow AS AUTO CDC INTO
main.silver.customers_history
FROM STREAM(main.bronze.customer_cdc)
KEYS (customer_id)
APPLY AS DELETE WHEN operation = 'DELETE'
SEQUENCE BY sequence_number
COLUMNS * EXCEPT (operation)
STORED AS SCD TYPE 2
TRACK HISTORY ON (name, segment, country);Verifica los nombres de las columnas de control que expone el target antes de diseñar consultas point-in-time.
Puntos clave
- SCD 1 responde 'cuál es el valor actual'; SCD 2 responde también 'cuál era entonces'.
- La secuencia determina intervalos; no debe confundirse con la fecha de carga.
- El conjunto de columnas históricas controla ruido y coste de almacenamiento.
Evita
- Usar SCD 2 para cada atributo técnico y generar versiones sin valor analítico.
- Sobrescribir con SCD 1 cuando auditoría o reporting histórico necesitan el valor vigente al producirse el hecho.
Recuerdo activo