Blog Post

Eine spaltenorientierte Datenbank - einfach erklärt

Michael Kozlowski • 10. Februar 2019

Spätestens mit Einführung der Datenbank HANA wird Ihnen der Begriff einer spaltenorientierten Datenbank begegnet sein. HANA ist eine In-Memory-Datenbank und verwendet sowohl spalten- als auch zeilenorientierten Zugriff. Herkömmliche Datenbanksysteme sind jedoch überwiegend zeilenorientiert. Ich möchte in diesem Beitrag an einem sehr einfachen Beispiel das Prinzip und die Unterschiede beider Designs herausarbeiten. Dieser Artikel richtet sich an Leser, die sich einen grundlegenden Überblick verschaffen möchten und verwendet ganz bewusst möglichst allgemeinverständliche Beschreibungen.

Eine Datenbank speichert die Daten in Form von Tabellen. Diese Tabellen sind zweidimensional , bestehen aus Zeilen und Spalten und können je nach Verwendung in Datenbanken viele Millionen Einträge enthalten. Auf den Datenträgern (z.B. Festplatte) müssen die Zeilen und Spalten einer Tabelle jedoch eindimensional gespeichert werden.

In einer zeilenorientierten Datenbank sind die Daten für eine Tabellenzeile hintereinander gespeichert. Wird in der zeilenorientierten Datenbank ein Datensatz gelesen, dann stehen alle Spalten einer Zeile zur Verfügung. Wir sehen hier ein Bespiel einer (stark vereinfachten) Verkaufsstatistik mit Umsatzzahlen. Wir lesen den Datensatz für Artikelnummer 2 (goldgelb eingefärbt) und wissen nun, dass es sich um Heizkörperfarbe handelt, und dieser Artikel einen Umsatz in Höhe von 50 Tsd.EUR erzielt hat.

Zeilenorientierte Datenbanken haben Vorteile bei Abfragen, die Informationen aus mehreren Spalten benötigen.

In einer spaltenorientierten Datenbank sind die Daten einer Tabellenspalte z.B. Umsatzzahlen hintereinander abgespeichert. Wird für die Verkaufsstatistik mit Umsatzzahlen die Spalte "Umsatz Tsd.EUR" in der Datenbank gelesen (unten grün eingefärbt), dann können wir z.B. sehr effizient mit nur einem Datenbankzugriff den gesamten Umsatz der Artikel berechnen (25 + 50 + 15 = 90 Tsd.EUR).

Spaltenorientierte Datenbanken eignen sich sehr gut für Auswertung von Aggregaten - wie hier bei der beispielhaft angewandten Summenbildung.

Beide Verfahren haben jeweils Vor- und Nachteile abhängig vom konkreten Verwendungszweck. In der Praxis verwenden Datenbanken häufig Optimierungsmethoden bzw. einen Hybridansatz für bestimmte Typen von Abfragen, um Nachteile der jeweiligen Implementierung zu minimieren.

von Michael Kozlowski 10. Februar 2019
Systemkonvertierung zu S/4 HANA #1 - Einführung
von Michael Kozlowski 9. Februar 2019
Design und Funktion einer In-Memory-Datenbank verständlich erklärt.
von Michael Kozlowski 7. Februar 2019
Benutzermanagement in S/4HANA
Weitere Beiträge
Share by: