Mittwoch, 9. November 2005 14h00, Variohalle 2 Betrachtung der neuen OLAP Ansätze von Oracle 10g Sven Bosinger, Bereichsleiter BI OPITZ CONSULTING GmbH, Gummersbach Schlüsselworte: Oracle OLAP Option, Oracle Warehouse Builder, Oracle Discoverer, ROLAP, MOLAP, HOLAP, ETL Einleitung Seit Einführung der Oracle Datenbank 9i verfolgt die Firma Oracle das Ziel, ihr früheres Produkt Oracle Express in ihre relationale Datenbanktechnologie zu integrieren. Mit der Oracle Datenbank 10g, insbesondere dem Release 10.1.0.4, ist diese Integration nochmals überarbeitet worden. Oracle stellt eine so genannt Oracle OLAP Option zur Verfügung, mit welcher man in der Lage ist, multidimensionale Datenstrukturen in der relationalen Datenbank zu speichern, zu verwalten und auf diese zuzugreifen. Im Zusammenspiel mit dem neuen Oracle Warehouse Builder 10g Rel. 2, der sich zurzeit (Stand September 2005) noch im Beta Stadium befindet, ergibt sich bis zu den Auswertungswerkzeugen hin ein durchgängiges OLAP-Szenario. Ziel des Vortrags In diesem Vortrag geht es darum, die aktuelle Architektur der Oracle OLAP Option vorzustellen und das Zusammenspiel der Oracle OLAP Option mit den Werkzeugen Oracle Warehouse Builder und Oracle Discoverer aufzuzeigen. Der Vortrag richtet sich dabei an Data Warehouse Architekten und Projektleiter, die vor der Aufgabe stehen ein komplettes Business Intelligence System aufzubauen, oder eine vorhandene BI-Lösung zu konsolidieren. Begriffsdefinition OLAP Die klassische Data Warehouse Architektur (siehe Abb. 1), besteht in der Regel aus einer Staging Area, einem Enterprise Modell und einem oder mehreren Data Marts. Die Staging Area ist ein temporärer Bereich. Dieser hat die Aufgabe, alle in einem Ladelauf zu verarbeitenden Daten asynchron zu sammeln. Das Enterprise Modell stellt die eigentliche Integrationsebene der Daten dar. Die Data Marts sind für Auswertungsanforderungen optimiert. Sie enthalten häufig aggregierte Daten, die in relationalen Tabellen als Star- oder Snowflake-Schema abgelegt sind (ROLAP) oder multidimensional als sog. OLAP-Cubes realisiert werden (MOLAP). Die Data Marts verfolgen das Ziel dem Anwender einen einfachen, transparenten und performanten Zugriff auf die Data Warehose Daten zu ermöglichen. Abb. 1: Klassische Data Warehouse Architektur
18. Deutsche ORACLE-Anwenderkonferenz Basis für die Data Mart Modellierung egal ob relational oder als OLAP-Cubes ist das so genannte Dimensionenmodell (siehe Abb. 2). Dieses dient zur abstrakten Beschreibung eines n-dimensionalen Lösungsraumes. Man unterscheidet dabei zwischen Dimensionen und Kennzahlen. Abb. 2: 3-dimensionaler Lösungsraum Die Dimensionen spannen einen n-dimensionalen Lösungsraum auf, in diesem Beispiel einen 3-dimensionalen Raum. Die Kennzahlen stellen die Koordinaten in diesem Raum dar und sind die eigentlichen Messwerte, die ausgewertet werden sollen. Der Kontext der Kennzahlen ergibt sich aus den zugehörigen Dimensionswerten. Wird ein multidimensionales Modell als OLAP-Cube implementiert (siehe Abb. 3), so entsprechen die Kanten des OLAP-Cubes den Dimensionen und die Zellen im Würfel den Kennzahlen. Jede Zelle wird beim Laden des OLAP-Cubes berechnet und gespeichert. Business Intelligence Abb. 3: MOLAP Cube Um die Daten aus einem solchen OLAP-Cube abzufragen, werden von den unterschiedlichen Herstellern jeweils properitäre Abfragesprachen zur Verfügung gestellt. Einen einheitlichen Standard, wie z.b. SQL bei relationalen Datenbank, gibt es leider nicht. Oracle OLAP Option Bei der Oracle OLAP Option handelt es sich um eine funktionale Erweiterung der relationalen Oracle Datenbank um multidimensionale Speicherung und Funktionen. Dies bedeutet, dass man mit der Oracle OLAP Option die beschriebenen OLAP-Cubes in der Oracle Datenbank speichern kann. Dies geschieht dabei in sog. Analytical Workspaces (AW). Man hat damit eine MOLAP Technologie in einer relationalen Datenbank. Der Aufbau der AWs kann über den Analytical Workspace Manager erfolgen. Mit diesem werden die Dimensionen und OLAP-Cubes definiert und die Datenversorgung implementiert.
Mit dem neuen Oracle Warehouse Builder 10g Rel. 2 (Paris Release) wird man künftig ebenfalls die AWs anlegen und die Datenversorgung über einen klassischen Datenbewirtschaftungsprozess (ETL) sicherstellen können. Der Zugriff auf die AWs kann sowohl relational mittels SQL oder multidimensional mit der sog. OLAP DML erfolgen (siehe Abb. 4). Die technische Voraussetzung für den Einsatz der Oracle OLAP Option ist mindestens eine Oracle Datenbank 9i Enterprise Edition. Abb. 4: Zugriffsmöglichkeiten auf einen Analytical Workspace Greift man über die Oracle API auf eine Oracle Datenbank mit Oracle OLAP Option zu, so ist man nicht nur auf multidimensionale Objekte, sprich AWs beschränkt, sondern kann über diese API auch auf relationale Datenbestände zugreifen (siehe Abb. 5). Abb. 5: Zugriffsmöglichkeiten über die OLAP API Das bedeutet allerdings nicht, dass man für den Aufbau eines relationalen Data Marts, z.b. als Star- Schema, die Oracle OLAP Option benötigt! Über den OLAP Metadatenkatalog (CWM1 und CWM2) wird erkannt, um was für eine Datenrepräsentation (ROLAP oder MOLAP) es sich handelt. Entsprechend werden SQL-Statements generiert, die auf die relationalen Tabellen direkt, oder auf den AW über relationale Views zugegriffen. Diese Views basieren wiederum auf Table Functions, in denen die OLAP DML Befehle gekapselt sind, die dann auf den AW über die eingebaute OLAP Engine zugreifen. Über diesen technologischen Ansatz hat Oracle eine Business Intelligence Plattform geschaffen (siehe Abb. 6). Diese zeichnet sich dadurch aus, dass alle Funktionalitäten durch den Datenbankserver bereitgestellt werden. Diese Funktionalitäten bestehen aus: Datenhaltung in relationalen und multidimensionalen Strukturen Datenbewirtschaftung über PL/SQL-Packages, die mit dem Oracle Warehouse Builder erzeugt werden und über den Oracle Workflow gesteuert werden Metadatenverwaltung über das CWM konforme Metadatenrepository der Datenbank Datenzugriff über die Oracle Produkte Oracle Reports, Oracle Discoverer, Oracle BI-Beans sowie über ein eigens geschaffenes MS-Excel AddIn
18. Deutsche ORACLE-Anwenderkonferenz Abb. 6: Oracle Business Intelligence Plattform Aufbau einer OLAP-Architektur Der Aufbau einer tragfähigen OLAP-Architektur besteht aus drei Komponenten, der Datenmodellierung, der Datenbewirtschaftung und dem eigentlichen Reporting. Datenmodellierung Die Datenmodellierung erfolgt mit dem Oracle Warehouse Builder (OWB). Dieser ist das zentrale Entwicklungswerkzeug für Business Intelligence Systeme der Firma Oracle. Er ist Bestandteil der Oracle Developer Suite und mit dieser zu lizenzieren. Der OWB zeichnet sich dadurch aus, dass man mit ihm alle eine BI- Lösung betreffenden Komponenten definieren und implementieren kann. Darüber hinaus, wird mit ihm die Datenbewirtschaftung, auch ETL-Prozess genannt, entwickelt. Um einen OLAP-Cube mit dem OWB anzulegen, müssen zuerst die zugehörigen Metainformationen erfasst werden. Das sind im Wesentlichen Informationen über Dimensionen und Kennzahlen. Beide werden über eine grafische Oberfläche modelliert. Zur Modellierung der Dimension ist es neben der Angabe der Attribute notwendig, Hierarchieebenen und Hierarchien zu beschreiben. Die Hierarchieebenen bestimmen die möglichen Gruppierungsebenen, auf denen die Daten aggregiert ausgewertet werden können. Die Hierarchien stellen die Verbindung der einzelnen Hierarchieebenen miteinander dar und geben für spätere Analysen mögliche Drill-Pfade vor. Die Kennzahlen wiederum sind numerische Werte bei denen neben Datentyp auch das Aggregationsverhalten von Bedeutung ist. So wird z.b. vorgegeben, ob es sich um Werte handelt, die summiert werden sollen, oder ob vielleicht ein Durchschnittswert erforderlich ist. Neben den Basiskennzahlen können auch noch berechnete Kennzahlen definiert werden, die sich aus beliebigen Funktionen ergeben können. Als Ergebnis dieser Modellierungstätigkeiten ergibt sich ein Dimensionenmodell, das sich sowohl relational als auch multidimensional in der Datenbank ablegen lässt. Business Intelligence Datenbewirtschaftung Das Design der Datenbewirtschaftung erfolgt ebenfalls mit dem OWB. Auch hier werden, wie bei der Datenmodellierung, Metadaten erfasst. Diese betreffen den Datentransport aus den Quell- in die Zielstrukturen. Ein Datenbewirtschaftungsprozess besteht aus einzelnen ETL-Schritten, diese werden in der OWB-Nomenklatur Mappings genannt. Ein Mapping beschreibt einen Datenfluss, der grafisch modelliert wird. In einem zweiten Schritt werden aus den so gewonnen Metadaten ausführbare Programme generiert. Dabei handelt es sich um PL/SQL-Packages, die in der Datenbank ablaufen. In den PL/SQL-Packages werden wiederum OLAP DML Befehle aufgerufen, die dann den OLAP-Cube mit Daten füllen. Die einzelnen Mappings, z.b. zum Laden der jeweiligen Dimensionen und Kennzahlen, werden zu einem Prozessfluss zusammengestellt.
Datenzugriff und Reporting Für den Zugriff auf die Daten im Rahmen einer BI-Lösungen stellt Oracle drei Produkte zur Verfügung: Oracle Reports, die BI-Beans Technologie und Oracle Discoverer. Oracle Reports besitzt seine Stärken im Standardreporting. Mit diesem Werkzeug können Listen und Grafiken erzeugt werden, die höchsten Layoutanforderungen genügen. Die BI-Beans Technologie basiert auf Java Beans, mit denen eigene Business Intelligence Applikationen erstellt werden können. Setzt man dafür den Oracle JDeveloper, ebenfalls ein Bestandteil der Oracle Developer Suite ein, so kann man Wizard gesteuert komplexe Anwendungen erzeugen, ohne eine Zeile Javacode programmieren zu müssen. Der Oracle Discoverer (for OLAP) besteht aus unterschiedlichen Komponenten, dem Oracle Discoverer Plus, dem Oracle Discoverer Viewer und ein MS-Excel AddIn. Der Discoverer ist Bestandteil des Oracle Application Servers (AS). Die Administration des Discoverer erfolgt über den Enterprise Manager des AS. Dort können Benutzer, Berechtigungen und Layouteinstellungen gepflegt werden. Bei dem Oracle Discoverer Plus handelt es sich um ein sog. Adhoc-Query Werkzeug, mit welchem der Benutzer Analysen in den für ihn freigegebenen OLAP-Cubes durchführen kann. Mit dem Oracle Discoverer Plus ist ein Benutzer in der Lage eigene Analysen zu erstellen, diese in der Oracle Datenbank abzuspeichern und anderen Benutzer zur Verfügung zu stellen. Der Discoverer Plus bedient das Profil der Poweruser und Analysten. Der Oracle Discoverer Viewer stellt eine in der Funktionalität eingeschränkte Variante des Oracle Discoverer Plus dar. Mit ihm ist man in der Lage Analysen zu öffnen, eigene Varianten über z.b. Drillen oder Slice and Dice zu erzeugen und diese wiederum in der Oracle Datenbank abzulegen. Beide ermöglichen den Drill To Detail entlang der Hierarchien und können die Analysen in Tabellenform (Liste und Kreuztabelle) oder als Grafik darstellen (s. Abb. 7). Abb. 7: Discoverer Plus Um eine Oracle Discoverer Analyse zu erstellen, sind wenige Schritte notwendig: Auswahl der Kennzahlen und Dimensionen Ggf. Auswahl des Grafiktyps Positionierung der Elemente in der Tabelle Auswahl der Dimensionswerte, mit denen die Analyse gestartet wird Ggf. Konfiguration der Grafik Einbindung weiterer abgeleiteter Kennzahlen oder analytischer Funktionen Mit diesen Schritten hat man basierend auf einem OLAP-Cube sehr schnell eine entsprechende Analyse erzeugt. Diese kann in der Oracle Datenbank gespeichert und zu einem späteren Zeitpunkt wieder aufgerufen werden. Außerdem kann man die Analyse anderen Benutzern, die z.b. den Oracle Discoverer Viewer verwenden, zur Verfügung stellen. Das mitgelieferte MS-Excel AddIn stellt, was die Analysefähigkeiten angeht, denselben Funktionsumfang wie die Oracle Discoverer Plus Variante zur Verfügung. Auch mit diesem können eigene Analysen erzeugt werden (siehe Abb. 8). Das Ergebnis der Analyse ist eine MS- Excel Tabelle, die auch Offline, also ohne Verbindung zur Datenbank, verendet werden kann. Lediglich für die Aktualisierung der Daten ist eine Datenbankverbindung notwendig.
18. Deutsche ORACLE-Anwenderkonferenz Abb. 8: MS-Excel AddIn Fazit Mit der Einführung des neuen Oracle Warehouse Builder 10g Rel. 2 bietet Oracle eine durchgängige OLAP- Philosophie an. Diese ermöglicht ein komplettes OLAP-Szenario von der Datenquelle, über die multidimensionale Speicherung bis hin zur multidimensionalen Analyse. Die Lösung basiert dabei ausschließlich auf Funktionalitäten der Oracle Datenbank. Diese Technologie ermöglicht nicht nur den Zugriff auf multidimensionale Objekte, sondern kann zusätzlich auf relational gespeicherte Daten zugreifen. Dies ist für den Benutzer völlig transparent. Damit ist es den Systemdesignern möglich, die beste Technologie (ROLAP oder MOLAP) für die jeweilige Fragestellung zu benutzen. Die vollständige Integration in die Datenbank ermöglicht die einheitliche Verwaltung aller Metadaten durch und in der Oracle Datenbank. Dies hat große Vorteile für die Performance, Skalierung und Verwaltbarkeit einer BI-Lösung. Ein Wermutstropfen ist die Lizenzierung der OLAP Option. Das Lizenzmodell richtet sich nach der Lizenzierung der verwendeten Oracle Datenbank. Hat man ein Data Warehouse mit mehreren hundert Benutzern auf einer Mehrprozessormaschine, so muss man die OLAP Option, je nach Lizenztyp, für alle Benutzer oder alle Prozessoren lizenzieren, auch wenn nur wenige Anwender auf die OLAP-Cubes Zugriff haben werden. Business Intelligence Kontaktadresse: Sven Bosinger Kirchstrasse 6 D-51647 Gummersbach Telefon: +49(0)2261-6001-0 Fax: +49(0)2261-6001-4200 E-Mail sven.bosinger@opitz-consulting.de Internet: www.opitz-consulting.de