Articles

GeeksforGeeks

Posted on

Denormalisierung ist eine Datenbank-Optimierungstechnik, bei der wir redundante Daten zu einer oder mehreren Tabellen hinzufügen. Dies kann uns helfen, kostspielige Joins in einer relationalen Datenbank zu vermeiden. Beachten Sie, dass Denormalisierung nicht bedeutet, keine Normalisierung durchzuführen. Es handelt sich um eine Optimierungstechnik, die nach der Normalisierung angewendet wird.

In einer traditionellen normalisierten Datenbank speichern wir Daten in separaten logischen Tabellen und versuchen, redundante Daten zu minimieren. Wir können uns bemühen, nur eine Kopie von jedem Teil der Daten in der Datenbank zu haben.

In einer normalisierten Datenbank könnten wir zum Beispiel eine Tabelle „Kurse“ und eine Tabelle „Lehrer“ haben. Jeder Eintrag in Kurse würde die Lehrer-ID für einen Kurs speichern, aber nicht den Lehrernamen. Wenn wir eine Liste aller Kurse mit dem Lehrernamen abrufen müssen, würden wir einen Join zwischen diesen beiden Tabellen durchführen.

In mancher Hinsicht ist das großartig; wenn ein Lehrer seinen Namen ändert, müssen wir den Namen nur an einer Stelle aktualisieren.
Der Nachteil ist, dass wir bei großen Tabellen unter Umständen unnötig viel Zeit mit dem Joinen von Tabellen verbringen.
Die Denormalisierung schlägt also einen anderen Kompromiss vor. Bei der Denormalisierung nehmen wir eine gewisse Redundanz und einen gewissen Mehraufwand für die Aktualisierung der Datenbank in Kauf, um die Effizienzvorteile von weniger Joins zu erhalten.

Vorteile der Denormalisierung:-

  1. Das Abrufen von Daten ist schneller, da wir weniger Joins durchführen
  2. Abfragen zum Abrufen können einfacher sein (und sind daher weniger fehleranfällig),
    da wir weniger Tabellen betrachten müssen.

Nachteile der Denormalisierung:-

  1. Updates und Inserts sind teurer.
  2. Die Denormalisierung kann das Schreiben von Update- und Insert-Code erschweren.
  3. Daten können inkonsistent sein. Welches ist der „richtige“ Wert für ein Stück Daten?
  4. Datenredundanz erfordert mehr Speicherplatz.

In einem System, das Skalierbarkeit erfordert, wie das eines großen Tech-Unternehmens, verwenden wir fast immer Elemente von sowohl normalisierten als auch denormalisierten Datenbanken.

Artikel-Tags :

DBMS

Praxis-Tags :

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.