Zum Inhalt springen
  • Von: Ulrike Schwinn
  • Datenbank
  • 16.03.2015

Komprimierung in der Datenbank

Die Komprimierung von Daten ist wichtiger Bestandteil der Oracle-Datenbank und wird kontinuierlich weiterentwickelt. Der Artikel beleuchtet die Vielzahl von Komprimierungsmöglichkeiten in der Datenbank, angefangen mit der „Advanced Compression“-Option seit dem Datenbankrelease 11g, über die zwei neuen Features „Heat Map“ und „Automatic Data Optimization“ der Oracle Database 12c, bis hin zur „In-Memory Option“ ab 12.1.0.2.

Die Komprimierung von Daten ist wichtiger Bestandteil der Oracle-Datenbank und wird kontinuierlich weiterentwickelt. Der Artikel beleuchtet die Vielzahl von Komprimierungsmöglichkeiten in der Datenbank, angefangen mit der „Advanced Compression“-Option seit dem Datenbankrelease 11g, über die zwei neuen Features „Heat Map“ und „Automatic Data Optimization“ der Oracle Database 12c, bis hin zur „In-Memory Option“ ab 12.1.0.2.

Die stetige Weiterentwicklung der Komprimierung mit jedem Datenbankrelease zeigte sich unter anderem im Datenbankrelease 11g mit der Einführung der neuen Techniken. Mit der neuen Option „Advanced Compression“ ist die Komprimierung nun beispielsweise unabhängig vom Anwendungs-Workload. Außerdem wurde die Komprimierung um die Bereiche unstrukturierte Daten, Backup-Daten und Netzwerk (im „Data Guard“-Umfeld) erweitert. Gerade unstrukturierte Daten vom Datentyp XML, CLOB und BLOB sind in der Regel sehr speicherintensiv. Aus diesem Grund ist eine Komprimierung dieser Daten – falls das Datenformat es zulässt – sicherlich sinnvoll. Das Ziel, LOB-Komprimierung in der Datenbank ohne zusätzliche Programmierung bereitzustellen, wurde mit der Oracle Database 11g und der Einführung des neuen Datentyps SECUREFILE für „Large Objects“ implementiert. 

Die Oracle Database 12c bietet zusätzliche Eigenschaften zur Verbesserung der Speicherverwaltung. Im Wesentlichen handelt es sich dabei um zwei neue Features: die „Heat Map“ und die „Automatische Daten Optimierung“ (englisch: Automatic Data Optimization). Die Heat Map „trackt“ Veränderungen und Abfragen auf Zeilen- und Segment-Ebene und gibt einen detaillierten Überblick über den Zugriff auf die Daten. Die „Automatische Daten Optimierung“ verlagert und/oder komprimiert die Daten gemäß nutzerdefinierter Regeln (englisch: Policies) basierend auf den Informationen, die sich aus der Heat Map ergeben. Beide zusammen helfen dabei, „Information Lifecycle Management“-Strategien in – und nicht außerhalb – der Datenbank zu implementieren.

Mit der Einführung der neuen „Oracle-Datenbank In-Memory Option“, die mit dem ersten Patchset (12.1.0.2) bereitgestellt wurde, stehen weitere neue Konzepte zur Ablage und Verarbeitung von Daten in der Datenbank zur Verfügung. Unterschiedliche Applikationen können damit beschleunigt werden, ohne dass die Anwendung verändert werden muss. Ein neuer Hauptspeicherbereich – der sogenannte „Column Store“ – sorgt beispielsweise dafür, dass die Daten bei Bedarf nicht nur im Zeilenformat, sondern gleichzeitig auch im neuen Spaltenformat vorliegen. Neue Komprimierungsarten, die nur für Segmente im Column Store verfügbar sind, erhöhen die Effektivität des Spaltenformats; dabei lässt sich der Platzbedarf mindestens auf die Hälfte, oft auf einen wesentlich kleineren Bruchteil reduzieren.

Folgende Übersicht gibt einen Überblick über die Möglichkeiten der Komprimierung in der Datenbank:

Ebene

Basic-Komprimierung

Advanced-Komprimierung

Tabelle

Row Store Compress Basic
(auch: Basic Table Compression)

Row Store Compress Advanced
(auch: Advanced Row Compression)

Unstrukturierte Daten - Securefile

 

Advanced LOB Compression Advanced LOB Deduplication

Index

Bitmap Index komprimierter B* Index (auch: Index Key Compression)

Advanced Index Compression

Partition

Basic Compression

Advanced Row Compression

Tablespace

Basic Compression

Advanced Row Compression

RMAN Backup

Algorithmus BASIC

Algorithmen wie LOW, MEDIUM und HIGH

Data Pump

Nur Metadaten, Algorithmus BASIC

Alle Daten oder Daten Only, Algorithmen wie LOW, MEDIUM und HIGH

External Table

 

External Table Compression

Data Guard

 

Data Guard Redo Transport

Netzwerk

 

Advanced Network Compression

Flashback Data Archive

 

Optimized Flashback Data Archive


Anmerkung zur Übersicht:

Nicht berücksichtigt wurde die Komprimierungsart HCC (Hybrid Columnar Compression) für Tabellen und Partitionen, die unabhängig von der „Advanced Compression“-Option auf spezieller Storage wie Exadata Storage Systeme, Sun ZFS Storage Appliance (Oracle NAS Storage) oder Axiom Storage (Oracle SAN Storage) ihre Verwendung findet. Auch die „In-Memory“-Komprimierungsarten, die mit dem neuen Column Store zur Verfügung stehen, sind nicht aufgelistet.