Zusammenfassung Bachelor Thesis mit dem Thema: Evaluation einer multidimensionalen Struktur auf einem Oracle-Datenbankserver unter Verwendung der Oracle In-Memory-Option
08.10.19 von Jeremy Pulwey
Die Zielsetzung der Arbeit war es, zu untersuchen, inwieweit sich eine, auf einem Oracle-Datenbankserver aufgebaute, multidimensionale Struktur dazu eignet die Daten aus den verschiedenen externen und operativen Quellsystemen eines Unternehmens In-Memory zu berechnen. Die Lösung sollte dabei eine effiziente physikalische Speicherung multidimensionaler Datenbestände ermöglichen.
Dabei galt es nun zu untersuchen, ob der Hauptspeicherbedarf der multidimensionalen Struktur, auf dem Oracle-Datenbankserver, gegenüber dem eines Cubes der Business-Intelligence-Anwendung, geringer ist. Außerdem sollte untersucht werden, ob die multidimensionale Struktur unter Verwendung der Oracle In-Memory-Option bei einer analytischen Abfrage eine ähnlich performante Abfrage ermöglicht, wie auf einen Cube einer Business-Intelligence-Anwendung. Letztendlich sollten diese Fragestellungen anhand praktischer Tests untersucht werden.
Zur fundierten Prüfung des Sachverhalts wurden zunächst die theoretischen Grundlagen gelegt. Diese sollten die fachlichen Grundlagen zu den Themenbereichen „Data Warehouse“ und „In-Memory-Datenbanken“ vermitteln.
Der zentrale Punkt im Bereich „Data Warehouse“ war die Erläuterung der Cubes. Im Bereich „In-Memory-Datenbanken“ galt es die wesentlichen Unterschiede zu anderen Datenbankformen herauszustellen. Im Rahmen der Arbeit wurden hierzu die In-Memory-Datenbanken den relationalen Datenbanken gegenübergestellt.
Ein Cube wird in der Literatur als Bild für multidimensionale Datenräume verwendet. Der Begriff „Multidimensional“ meint, dass eine logische Anordnung quantitativer betriebswirtschaftlicher Größen in einer bestimmten Form vorliegt. Durch diese Form ist es Unternehmensanalytikern möglich, bestimmte Fragestellungen anhand von analytischen Abfragen für das Management zu beantworten.
Anschließend wurde das Prinzip der In-Memory-Datenbanken behandelt. Wie bereits erwähnt wurden hierbei die Unterschiede der In-Memory-Datenbanken und relationalen Datenbanken herausgestellt.
Der Unterschied beider Technologien liegt in der Speicherstruktur. Die relationalen Datenbanken basieren darauf, dass alle zusammenhängenden Werte in einem Tupel gespeichert werden. Dieses Prinzip wird im englischen als „row-store“ bezeichnet. Diese Art der Speicherung ist von Vorteil, wenn man darauf bedacht ist, auf mehrere Attribute eines Tupels gleichzeitig zuzugreifen. Ist man jedoch lediglich darauf bedacht, auf eine einzelne Spalte der Tabelle zuzugreifen, ist diese Art der Speicherung ein unnötiger Verbrauch des Caches eines Rechners.
Im Gegensatz hierzu steht der Aufbau der In-Memory-Datenbanken. Die Speicherstrukturen sind hierbei so aufgebaut, dass alle Werte eines Attributes nacheinander abgespeichert sind. Aus diesem Grund wird diese Art des Speicherns auch „column-store“ genannt. Diese Form der Speicherung ermöglicht einen direkten Zugriff auf alle Werte einer Spalte, Aggregation oder Ausschnitts. Da durch dieses Speicherformat Vorteile in der Zugriffsgeschwindigkeit erreicht werden, wird es oft im Zusammenhang mit Datenanalysen verwendet. Weiterhin ist es durch diese Form möglich, nur die Spalten im Hauptspeicher vorzuhalten, die aktuell benötigt werden. Dadurch ist eine viel effizientere Nutzung des Speichers möglich.
Weiterhin kommt im Zusammenhang mit In-Memory-Datenbanken häufig die Datenkompression zum Einsatz. Diese zielt im Allgemeinen darauf ab, einen Zeit- oder Speichergewinn zu erlangen. Dies wird dadurch erreicht, dass die Daten für die Speicherung verdichtet werden. Dadurch soll vor allem der teure Hauptspeicher so effizient wie möglich genutzt werden.
Nachdem die theoretischen Grundlagen abgeschlossen wurden, wurde die Untersuchungsmethodik dieser Bachelorarbeit erläutert. In diesem Fall handelte es sich um die Nutzwertanalyse. Hierbei wurde lediglich auf den Erfüllungsgrad einzelnen Kriterien geprüft.
Die untersuchten (Grob-)Kriterien waren:
- Abfragegeschwindigkeit
- Hardwareressourcen Auslastung
- Aktualität des multidimensionalen Datenraums
- Abfrageparametrisierung
Bei den im Praxisteil eingesetzten Technologien handelt es sich zum einen um die Oracle Analytic Views, in Verbindung mit der Oracle In-Memory-Option, und zum anderen um In-Memory geladene OLAP-Cubes der Businness-Intelligence-Anwendung MicroStrategy.
Bei Kriterium Nummer 1. galt es nun festzustellen, welche Antwortzeiten bei einer Abfrage auf die jeweilige Technologie erreicht werden können. Im Zusammenhang mit Kriterium Nummer 2. sollte geprüft werden, inwieweit die Hardwareressourcen ausgelastet werden. Der Fokus lag dabei zu überprüfen, wie stark der Hauptspeicher beim Laden und nach dem Laden der Daten ausgelastet wird. Kriterium Nummer 3. sollte prüfen, wie aktuell der multidimensionale Datenraum der jeweiligen Technologie ist. Mit Kriterium Nummer 4. wurde überprüft welche Grundoperationen bei einer analytischen Abfrage zur Verfügung stehen.
Die letztendliche Auswertung der Ergebnisse zeigte, dass sich das Antwortzeitverhalten bei einer analytischen Abfrage auf die Analytic View stark negativ von denen auf die OLAP-Cubes unterscheidet. Der Grund dafür ist, dass bei einer Abfrage auf die Analytic View durch die Datenbank temporäre Tabellen angelegt werden. Dieser Vorgang verlangsamt die Abfrage. Dieses Problem kann gelöst werden, indem verhindert wird, dass die Datenbank automatisch temporären Tabellen erzeugt und bei einer Abfrage lediglich die In-Memory geladenen Tabellen nutzt. Diese Untersuchung war jedoch kein Bestandteil der Arbeit. Sehr positiv zeigten sich die Analytic View in Bezug auf die Hardwareauslastung. Hierbei war bei der Analytic View eine gleichbleibende Auslastung des Hauptspeichers zu verzeichnen.