Dimensión tipo 2
Clase 10 de 26 • Curso de Data Warehousing y Modelado OLAP
Resumen
¿Cómo funciona una dimensión lentamente cambiante tipo 2?
Dentro del análisis de datos y la gestión de bases de datos, conceptualizar las dimensiones lentamente cambiantes (SCD) resulta fundamental. La dimensión de tipo 2, SCD Type 2, nos permite almacenar la historia completa de los cambios que ocurren en los atributos a lo largo del tiempo de una manera eficiente y estructurada. Esto es crucial para cuando necesitamos mantener un registro histórico preciso de cambios en entidades, como estudiantes o clientes. Permite ver claramente los cambios efectuados en un registro, al añadir nuevas filas a la base de datos cada vez que se actualiza un atributo, en lugar de modificar las filas existentes.
¿Qué son los campos de vigencia?
Los campos de "start date" y "end date", claves en este modelo de dimensión, permiten identificar la validez de un registro dentro de un periodo determinado. Cuando un atributo cambia para un individuo específico, el sistema cierra la vigencia del registro antiguo al asignarle una "fecha fin" y genera un nuevo registro con una "fecha inicio". Esta técnica de segmentación del tiempo asegura que siempre se puede acceder al pasado y al presente de los datos sin perder información.
- Fecha de inicio (start date): Marca el momento en el que un nuevo registro comienza a ser válido.
- Fecha de fin (end date): Indica cuándo termina la vigencia de dicho registro, alineando la fecha del nuevo cambio.
¿Cómo se implementa el cambio en una SCD Type 2?
Veamos un ejemplo concreto y práctico. Supongamos que un estudiante, llamado Pepito Pérez, originalmente matriculado en la Facultad de Ingeniería, se cambia a la Facultad de Salud. Durante este proceso, la dimensión lentamente cambiante tipo 2 ejecuta las siguientes acciones:
- Búsqueda del registro actual: El proceso de extracción y transformación de datos (ETL) busca el registro más reciente en la dimensión, en este caso, la última actualización el 24 de febrero de 2030.
- Creación de un nuevo registro: Identificando que el cambio a la Facultad de Salud es posterior al 24 de febrero, la ETL crea un nuevo ID de registro pero conserva el mismo código de estudiante.
- Ajuste de fechas de vigencia: El registro antiguo se cierra el 24 de marzo de 2030. El nuevo registro para la Facultad de Salud comienza a una fecha que puede incluir una pequeña duración extra (como un minuto) para prevenir solapamientos al buscar.
La dimensión, entonces, asegure la integridad y la completa trazabilidad del estado histórico del estudiante.
¿Cómo prevenir problemas de calidad de datos en la ETL?
Es importante considerar eventos comunes, como fechas ficticias o errores de datos, en las etapas de extracción y transformación de datos. Por ejemplo, la fecha del 30 de febrero no existe. Es vital implementar verificaciones en la ETL para identificar y corregir estos problemas, asegurando calidad y confiabilidad en el Data Warehouse. Este procedimiento previene errores futuros y facilita la correcta aplicación de la SCD Type 2, permitiendo tomar decisiones bien fundamentadas.
¿Cómo administrar futuras fechas de fin?
El enfoque adecuado para configurar fechas de fin en registros vigentes es clave:
- Uso de valores nulos: Marcar la "fecha fin" como nula indica que el registro sigue vigente, es decir, activo para el día actual.
- Asignación de fechas futuras: Si se desea evitar valores nulos, una fecha convencional, como el 31 de diciembre de 9999, puede ser utilizada para significar un futuro indefinido.
Cada decisión acerca de cómo manejar estas fechas depende de las políticas internas de la organización y cómo se desee visualizar los datos históricos.
La capacidad de manejar con éxito estos cambios es vital para asegurar que las operaciones de datos sean fluidas y precisas, mejorando las decisiones de negocio basadas en datos históricos reales. Esto incita a optimizar continuamente los procesos de ETL para enfrentar desafíos complejos con confianza.