Daten-Denormalisierung

Daten transformieren und analysieren mit Microsoft Fabric

Luis Silva

Solution Architect - Data & AI

Was ist Normalisierung?

  • Daten so organisieren, dass Redundanz sinkt und Integrität steigt
  • Basiert auf Prinzipien von 1970 des Informatikers Ted Codd, Erfinder des relationalen Modells
  • Third Normal Form (3NF): Nicht-Schlüssel-Attribute hängen nur vom Primärschlüssel ab
Daten transformieren und analysieren mit Microsoft Fabric

Was ist Normalisierung?

  • Normalisierung erreicht man durch Schlüssel und neue Tabellen, die Attribute ersetzen, die sonst zu Redundanz führen würden.

 

Diagramm, das das Aufteilen einer Tabelle in drei zur Reduzierung von Redundanz zeigt

Daten transformieren und analysieren mit Microsoft Fabric

Beispiel: Normalisierung

Beispieltabelle mit Videospieltiteln sowie Publishern und Genres. Beispielzeile: Spieletitel Gran Turismo, Publisher Sony, Genre Racing

  • Viele doppelte Texteinträge bei den Werten von publisher und genre.
Daten transformieren und analysieren mit Microsoft Fabric

Beispiel: Normalisierung

Beispieltabelle mit Videospieltiteln sowie Publishern und Genres. Die Textbeschreibungen für Publisher und Genres wurden in eigene Tabellen verschoben, und die Textwerte in der Games-Tabelle durch numerische IDs ersetzt, die auf die separaten Mastertabellen für Publisher und Genres verweisen

  • Textwerte für publisher und genre kommen nun nur einmal vor.
  • Numerische Schlüssel, die publisher und genre in der Games-Tabelle ersetzen, sparen Platz
Daten transformieren und analysieren mit Microsoft Fabric

Denormalisierung

  • Denormalisierung nutzt Redundanz, um das Datenmodell abzuflachen; das Gegenteil von Normalisierung
  • Führt zu weniger Tabellen bei höherer Redundanz

Diagramm, das das Zusammenführen mehrerer Tabellen in eine zeigt

Daten transformieren und analysieren mit Microsoft Fabric

Wann solltest du normalisieren?

  • OLTP-Transaktionssysteme

    • Optimierung für Schreibvorgänge (einzelne Inserts, Updates, Deletes)
    • Sicherstellung der Datenintegrität
  • Faktentabellen

    • Millionen von Zeilen
    • Speicherbedarf reduzieren
    • Modell leichter verständlich machen
    • Grundlage für das Star-Schema

 

Diagramm eines Star-Schemas mit hervorgehobener Faktentabelle

Daten transformieren und analysieren mit Microsoft Fabric

Wann solltest du denormalisieren?

  • Dimensionstabellen
    • In der Regel viel kleiner als Faktentabellen
    • Redundanz = weniger Joins = schnellere Abfragen
    • Bessere Abfrageleistung überwiegt die Kosten redundanter Daten
    • Star-Schema ist einfacher als Snowflake-Schema

 

Diagramm eines Star-Schemas mit hervorgehobenen Dimensionstabellen

Daten transformieren und analysieren mit Microsoft Fabric

Denormalisierung umsetzen

 

 

Symbole für drei Tools: SQL, Spark und Dataflows

Daten transformieren und analysieren mit Microsoft Fabric

Denormalisierung mit SQL umsetzen

  • SELECT + JOIN-Anweisung
-- [dim_videogames]: Videogames-Tabelle
-- [dim_genres]: Genres-Tabelle
-- [dim_publishers]: Publishers-Tabelle

SELECT game_id, title, gen.genre, pub.publisher
FROM dim_videogames_norm vidg
JOIN dim_genres gen
  ON vidg.genre_id = gen.genre_id
JOIN dim_publishers pub
  ON vidg.publisher_id = pub.publisher_id
Daten transformieren und analysieren mit Microsoft Fabric

Denormalisierung mit Spark umsetzen

  • DataFrame join( ) und select( )
# [videogamesDF]: Videogames-DataFrame
# [genresDF]: Genres-DataFrame
# [publishersDF]: Publishers-DataFrame

videogames1DF = videogamesDF.join(genresDF, ["genre_id"])
videogamesdenormDF = videogames1DF.join(publishersDF, ["publisher_id"])
videogamesdenormDF.select("game_id", "title", "genre_id", "publisher_id").show()
Daten transformieren und analysieren mit Microsoft Fabric

Denormalisierung mit Dataflows umsetzen

  • Abfragen zum Laden der Daten verwenden
  • Transformationen „Merge queries" oder „Merge queries as new" nutzen, um die Abfragen zu verknüpfen

Screenshot eines Dataflows, der „Merge queries as new" nutzt, um die Abfragen videogames, genres und publishers zu verknüpfen

Daten transformieren und analysieren mit Microsoft Fabric

Lass uns üben!

Daten transformieren und analysieren mit Microsoft Fabric

Preparing Video For Download...