Daten sind unsere Leidenschaft!

Oracle In-Memory Option im Data Warehouse Focus

Mit der Vorstellung der In-Memory Option für die Oracle Datenbank 12c bekommt der Architekt von Data Warehouse Systemen eine neue Technologie zur Verfügung gestellt. Es stellt sich nun die Frage, inwieweit diese Technologie den Einsatz von bisher bewährten Data Warehouse Features beeinflusst.

Der Großteil der von Oracle zur Verfügung gestellten DWH-Features beschäftigt sich damit, Daten so in der Datenbank auf- und vorzubereiten, sodass ein möglichst performanter Zugriff auf die gespeicherten Informationen gewährleistet wird.

Im Folgenden einige Beispiele:

Bitmap Indexes

Funktion: Bitmap Indexes werden klassischerweise in einem Star-Schema auf den Dimensionspalten geringer Selektivität einer Fakten-Tabelle eingesetzt und unterstützen den performanten Ausführungsplan einer Star-Query.

Nachteile: Bitmap Indexes haben eine sehr schlechte Performance bei DML-Operationen. Sie werden daher meistens vor diesen ab- und danach wieder aufgebaut, was Ressourcen bindet und nur einen Batchbetrieb der DML-Operationen zulässt. Sie sind daher für Realtime-Szenarien eher selten geeignet.

In-Memory Perspektive: Der Einsatz der In-Memory Option wird die Notwendigkeit von Star-Queries minimieren, somit werden die Bitmap Indexes obsolet werden.

Materialized Views

Funktion: Materialized Views im Kontext eines DWH dienen der Vorverdichtung von Daten entlang der Dimensionshierarchien. Durch Query Rewrite werden Abfragen die Verdichtungen benötigen (z.B. GROUP BY) auf, sofern vorhanden, vorverdichtete Daten umgeleitet.

Nachteile: Die Materialized Views müssen vorab erzeugt werden. Dazu ist eine Prognose des Abfrageverhaltens notwendig. Je genauer dieses ist, desto besser ist der Performancegewinn. Oft ist diese Prognose aber nicht möglich. In völlig frei definierbaren Analysesystemen stellen die Vorverdichtungen eine starke Einschränkung der Flexibilität dar.

In-Memory Perspektive: Der Einsatz von Matrialized Views wird durch die In-Memory Option zurückgehen, da eine Vorverdichtung der Daten aufgrund der extrem schnellen In-Memory Abfragen nicht mehr so oft nötig sein wird.

Partitioning

Funktion: Partitioning, also das transparente Verteilen von logisch zusammenhängenden Daten auf physikalisch einzelne Tabellen, hat mehrere Einsatzgebiete: Zum einen sollen durch Partition Pruning Tabellenzugriffe beschleunigt werden. Zum anderen soll eine erhöhte Verfügbarkeit der Daten durch die Möglichkeit von Partition Exchange Loading gewährleistet werden.

Nachteile: Um das Partition Pruning optimal zu nutzen, muss der Zugriffsweg auf die Daten, also mit welchen Filterbedingungen wird zugegriffen, bereits zum Design-Zeitpunkt bekannt sein, um den Partition Key optimal zu wählen.

In-Memory Perspektive: Das Einsatzgebiet des Partition Pruning wird durch die In-Memory Option zurückgehen. Die Verteilung von Daten auf mehrere physikalische Objekte wird bei wirklich großen Datenbeständen weiterhin das Mittel der Wahl bleiben. Das Partition Exchange Loading wird weiterhin eine große Rolle spielen.

Analytical Functions

Funktion: Analytical Functions ermöglichen komplexe analytische Fragestellungen in einem Select-Statement zu formulieren, das hinsichtlich seiner Performance optimiert ist. So muss bei „traditionellem“ SQL ggf. mehrfach auf eine Tabelle zugegriffen werden, was bei Einsatz der Analytical Functions durch einmaligen Zugriff geleistet werden kann.

Nachteile: Keine

In-Memory Perspektive: Der Einsatz von Analytical Functions wird nicht durch die Speichertechnologie beeinflusst. Daher werden diese auch weiterhin eine große Rolle spielen.

Wie die obige kleine Auswahl an DWH-Features der Datenbank zeigt, ist durch den Einsatz von In-Memory Technologien in vielen Bereichen eine grundsätzliche Änderung der Architektur und des Feature-Einsatzes zu erwarten.

Das könnte Sie auch interessieren

Bleiben Sie informiert:

its-people hilft Ihnen...

Weitere Blogthemen: