Temporalidad DWH Pt.4: Dimensiones SCD Type 2
Dimensiones estilo Kimball — salida SCD Type 2. Si no las ha leído, recomiendo leer primero las 3 primeras partes.
Dimensiones estilo Kimball — salida SCD Type 2 Si no las ha leído, recomiendo leer primero las 3 primeras partes.
Para empezar
Después de escribir una historia de nueve páginas sobre el tema incluyendo historia, modelado y consideraciones de rendimiento, llegué al punto de entender que es demasiado para hablar. Así que intenté reducirlo al mínimo con unos pocos bullet points. Si quiere omitir toda esta complejidad descrita en este artículo, podría considerar usar la herramienta de automatización DWH Datavault Builder, que hace todo esto por usted. Si escribo PIT tables abajo: puede usar vistas en su lugar — el mismo resultado, solo con peor rendimiento de consulta pero sin la necesidad de cargar las tablas. Si escribo dimensión abajo, la misma idea puede aplicarse también a hechos.
Crear PIT y PIT+
Si aun así quiere implementar esto usted mismo, nuestras conclusiones en breve:
-
Revise las 3 primeras partes de esta serie para asegurarse de que necesita salida SCD type 2. Hace los informes más complicados de lo que deberían si no hay valor de negocio real al hacerlo.
-
Las PIT tables no son un fin en sí mismas. La dimensión SCD type 2 lo es. Esto significa que no debería preguntar si alguien o una herramienta puede generar PIT tables, sino si puede crear la dimensión SCD type 2 que necesita.
-
Las PIT tables pueden ser un medio para hacer la salida SCD type 2 más eficiente.
-
Si crea PIT tables, hágalo solo para los granos (hubs) que necesita para la salida SCD type 2.
-
Si crea PIT tables, incluya solo las franjas de tiempo para los elementos (es decir, satélites y links) involucrados en la salida de su dimensión SCD type 2. Esto significa que primero necesita recoger los requisitos de negocio.
-
Algunos abogan por crear PIT tables como snapshots. Puede ser una opción útil si solo quiere acceder a datos de fin de mes u otras franjas definidas. Como queremos ser más flexibles, creamos PIT tables SCD type 2 continuas, ya que los snapshots pueden extraerse fácilmente de las continuas, pero no al revés.
Selección visual de atributos en Datavault Builder
-
Si no sabe qué columnas debe sacar en la dimensión SCD type 2 y por tanto no puede deducir qué satélites incluir en la PIT table, vuelva al punto en el que quiere omitir la complejidad.
-
Si crea PIT tables, incluya también target hashes e historia de los links muchos-a-uno y uno-a-uno. Los necesitará para unir PIT tables. A esto lo llamo PIT+.
Incluir satélites y hash enlazado en la PIT para relaciones muchos-a-uno y uno-a-uno
Uniendo PITs
-
Si no sabe nada sobre la cardinalidad esperada de sus links en su modelo, está en problemas. Vuelva a la sección en la que quiere omitir este tipo de complejidad.
-
Si, basado en la timeline DWH (3d: Load Time), puede cargar PIT tables en delta añadiendo solo nuevas filas, ya que la timeline Load Time siempre avanza.
-
Añadir Ghost records a satélites para mejorar el rendimiento de las consultas PIT no mostró ningún beneficio frente a simplemente hacer left join de los satélites en las plataformas de base de datos que probamos (su experiencia puede variar — probamos Snowflake, Exasol, Oracle, MSSQL).
-
Si una dimensión SCD type 2 necesita columnas de más de un grano (satélites conectados a distintos hubs), use un join temporal para cruzar siempre un par de hubs, resultando en una timeline combinada.
-
Si quiere saber cómo unir PIT tables, escríbame un correo o un mensaje en LinkedIn.
-
Al final, una todos los satélites necesarios a esta tabla de historia combinada para obtener los atributos necesarios.
-
Si lo desea, puede eliminar franjas de tiempo innecesarias. Esto reduce el número de filas a transferir a la herramienta de reporting, pero incluso sin eliminarlas la salida es perfectamente correcta.
Y eso es todo. Si lo logró: enhorabuena.
La siguiente pregunta es cómo combinar hechos SCD type 1 o 2 con dimensiones SCD type 2. Pero creo que dejaré ese tema para otro artículo de blog después de que haya digerido el contenido de este.
Vea Datavault Builder en acción
Demo en vivo. Respuestas honestas sobre si encaja con su equipo.
Reservar una Demo Gratuita