Oracle: Für Warehousing gerüstet

21.08.2007
Von Stefan  Ueberhorst
Die Basis für ein erfolgreiches BI ist ein solides Data Warehouse. Im Hinblick auf die dafür benötigte Skalierbarkeit, Performance und Integration braucht Oracle die Konkurrenz nicht zu scheuen.

Data Warehouses sind für ressourcenintensive Abfragen eingerichtet und enthalten oft große Mengen historischer Daten. Deshalb sind spezielle Anforderungen an die Abfrage-Performance und Skalierbarkeit unabdingbar. Oracle bietet hier verschiedene Features, die für Data-Warehouse- und Olap-Datenbanken entwickelt wurden. Skalierbarkeit ist eine der Stärken der Oracle-Technik, weiß Dani Schnider, Senior Consultant Business Intelligence bei der Trivadis AG in Glattbrugg (Zürich). Für diesen Bereich, wenn es zum Beispiel um Data Warehouses (DWH) mit Hunderten von Gigabyte oder mehreren Terabyte geht, gibt es Techniken wie Partitioning, Table Compression und Parallel Execution. Partitionierung wird oft in Data Warehouses eingesetzt, da sie einen enormen Performance-Gewinn bei Abfragen mit zeitlicher Einschränkung bewirkt und die Verwaltung der Daten vereinfacht. Sollen alte oder fehlerhafte Daten aus der Datenbank entfernt werden, müssen diese nicht mittels DELETE-Befehl gelöscht werden, sondern können partitionenweise mit einem DROP-Befehl eliminiert werden.

Komprimierte Tabellen abfragen

Mit dem Oracle Warehouse Builder (OWB) können ETL-Prozesse als grafische Mappings entwickelt werden.
Mit dem Oracle Warehouse Builder (OWB) können ETL-Prozesse als grafische Mappings entwickelt werden.

Komprimierung ermöglicht eine geringere Input-Output-Belastung und somit auch kürzere Abfragezeiten, da weniger Datenblöcke gelesen werden müssen. Voraussetzung ist, dass die Daten mit dem DWH-typischen "Direct-Load INSERT" eingefügt werden. Je nach Komprimierungsfaktor werden Abfragen auf komprimierten Tabellen deutlich schneller.

Sowohl beim Laden der Daten als auch bei Abfragen lassen sich die SQL-Prozesse parallelisieren. Insbesondere bei partitionierten Tabellen führt dies laut Schnider zu erheblichen Performance-Verbesserungen, wenn beispielsweise ein "Partition-wise Join" ausgeführt werden kann. Entsprechende Hardware vorausgesetzt, können durch geeignete Parallelisierung der ETL-Prozesse (Extraction, Transformation, Loading) und Abfragen effiziente Data Warehouses im Terabyte-Bereich realisiert werden.