SQL-Datenbanken

Wann sich Datenkomprimierung lohnt

Dr. Klaus Manhart hat an der LMU München Logik/Wissenschaftstheorie studiert. Seit 1999 ist er freier Fachautor für IT und Wissenschaft und seit 2005 Lehrbeauftragter an der Uni München für Computersimulation. Schwerpunkte im Bereich IT-Journalismus sind Internet, Business-Computing, Linux und Mobilanwendungen.

Mehrfach vorkommende Daten eliminieren – Tabellenkompression

Spricht man von Komprimierung, meint man in der Regel Tabellenkompression. Tabellenkompression ist eine seit mehreren Jahren übliche Methode, den Speicherbedarf in strukturierten Daten zu reduzieren. Dabei wird die Tatsache genutzt, dass selbst bei hoch normalisierten relationalen Datenbanken in einigen Attributen gleiche Werte in mehreren Datensätzen auftreten. Beispiele sind Felder mit eingeschränktem Wertebereich wie „Farbe“, „Geschlecht“ oder „Status“. Besonders viele Mehrfacheinträge befinden sich jedoch in schwach normalisierten Tabellen, wie sie im Data-Warehouse-Umfeld aus Performance-Gründen üblich sind.

Bei der Tabellenkompression wird Speicherplatz gespart, indem Mehrfacheinträge in einer Tabelle nur einmal abgelegt werden. Werte, die sich wiederholen, werden in einer eigenen Symboltabelle auf Blockebene gespeichert. An Stelle der sich wiederholenden Daten steht dann im jeweiligen Datensatz nur noch ein Zeiger auf diese Tabellenstruktur. Damit erfolgt praktisch eine automatische Normalisierung durch Zusammenfassen aller Mehrfacheinträge von Datenfeldern im Datenbank-Block.

Die Abbildung zeigt den Table Compress anschaulich anhand eines Beispiels mit fünf Datensätzen.

Die Komprimierung erfolgt beim Einfügen von Daten in die Tabelle. Die Platzersparnis ergibt sich aus der Verwendung der Zeiger, die weniger Speicherplatz als die Datenwerte erfordern. Dabei verringert sich nicht nur der Speicherplatzbedarf auf der Festplatte und im RAM, sondern es erhöht sich auch die Performance der Tabellenzugriffe. Der Komprimierungsalgorithmus ist sehr effizient, der CPU-Verbrauch für die Komprimierung beziehungsweise Dekompression gering. Für den Anwender ändert sich beim Zugriff auf die Daten nichts. Die Kompression ist für ihn vollständig unsichtbar.

Zur Startseite