SQL-Datenbanken

Wann sich Datenkomprimierung lohnt

09. März 2010
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.
Tabellenkompression ist eine übliche Methode, den Speicherbedarf in strukturierten Daten zu reduzieren. Ein Manko ist, dass sie nur bei lesendem Zugriff sinnvoll ist und den Update der Inhalte erschwert. Deshalb kommt sie vor allem im Data-Warehouse-Bereich zum Einsatz.

Auf den ersten Blick könnte man meinen, das Thema Datenkompression sei alles andere als aktuell. Schließlich spielt eingesparter Plattenplatz bei Datenbank-Anwendungen heute dank stetig sinkender Storage-Kosten kaum mehr eine finanzielle Rolle. Plattenkapazitäten von Hunderten von GByte sind billigst zu haben, und Speicherträger können jederzeit leicht an bestehende Systeme angedockt werden. Warum also sollte man Daten noch komprimieren?

Tatsächlich ist Datenkompression bei wenigen GByte Datenaufkommen kaum relevant. Bewegt sich der Storage-Bedarf hingegen – wie in professionellen IT-Umgebungen üblich – in größeren Dimensionen, bedeutet Speicherminimierung durchaus wirtschaftliche Vorteile. Das gilt etwa für Datenbanken mit fünf oder zehn TByte, wie sie heute bei Data-Warehouse-Systemen, aber auch anderen Datenbank-Anwendungen, üblich sind.

Doch reduzierte Speicherkosten sind nur ein Aspekt, warum es sich lohnt, Daten möglichst sparsam abzulegen. Zu bedenken ist auch, dass eine optimierte Datenspeicherung die Ressourcen, die für das Management der Daten verwendet werden, schont. Je weniger Daten gespeichert werden, umso geringer sind beispielsweise die Anforderungen an die Datenbank-Server. Die Performance des Systems wird verbessert, Zugriffzeiten verringert und die IO-Last ganz allgemein minimiert. Kurz gesagt: Je weniger Daten, umso effizienter arbeitet das Datenbank-System.

Der Wunsch von Anwendern ist daher groß, die Fähigkeiten von Datenbank-Systemen zu nutzen, um große Datenmengen durch eine möglichst effiziente Speicherung zu minimieren. Wir stellen Ihnen in diesem Artikel verbreitete Techniken vor, um Daten in SQL-Datenbanken effizient zu speichern. Den Schwerpunkt bildet dabei die Tabellenkompression und im Teil 2 die Indexkompression.