almessadi.
Zur Übersicht

Denormalisierung lohnt sich nur, wenn das Lese-Muster die Duplizierung rechtfertigt_

Joins sind nicht automatisch der Feind. Denormalisierung zahlt sich aus, wenn die Arbeitslast vorhersehbar genug ist, dass duplizierte Daten günstiger sind als deren wiederholte Rekonstruktion.

Veröffentlicht5. Januar 2025
Lesezeit6 min read

Teams denormalisieren oft aus den falschen Gründen: Sie haben generell Angst vor Joins. Das ist in der Regel ein Zeichen für vage Leistungsfolklore und nicht für messbare Ergebnisse.

Der stärkere Grund für Denormalisierung ist die Form der Arbeitslast. Wenn ein Lese-Pfad heiß, stabil und teuer zu rekonstruieren ist, dann kann die Duplizierung eines sorgfältig ausgewählten Datenausschnitts der richtige Kompromiss sein.

Wo Denormalisierung tatsächlich hilft

Ein gängiges Beispiel ist ein Bestell-Dashboard, das immer die gleiche zusammengefasste Ansicht benötigt:

  • Bestell-ID
  • Kundenname
  • aktueller Status
  • Gesamtsumme

Wenn diese Seite extrem heiß ist, besteht eine Möglichkeit darin, eine Lese-optimierte Tabelle oder materialisierte Sicht zu pflegen:

CREATE MATERIALIZED VIEW order_summaries AS
SELECT
  o.id,
  c.name AS customer_name,
  o.status,
  o.total_amount
FROM orders o
JOIN customers c ON c.id = o.customer_id;

Das ist eine Leistungstechnik. Es ist kein Grund, das relationale Design überall sonst aufzugeben.

Der Kompromiss

Denormalisierung kauft Lese-Geschwindigkeit, indem sie Schreibkomplexität einführt:

  • duplizierte Daten
  • Aktualisierungslogik
  • Ungültigkeitsregeln
  • Abweichungsrisiko, wenn die Projektion veraltet ist

Wenn die Abfrage nicht wirklich heiß ist oder wenn Indizes das Problem beheben, kann Denormalisierung mehr Wartungsarbeit als Wert schaffen.

Bessere Regel

Beginnen Sie mit normalisierten Tabellen und guten Indizes. Messen Sie den realen Engpass. Denormalisieren Sie nur, wenn das Lese-Muster stabil genug ist, dass Duplizierung günstiger ist als Neuberechnung.

Joins sind nicht der Feind. Unermessliche Architekturentscheidungen sind es.

Weitere Literatur