Business Intelligence – Warum gerade mit Oracle?

Werbung
Business Intelligence – Warum gerade mit Oracle?
Dani Schnider . Senior Consultant . 21 August 2007
Um erfolgreich Business Intelligence betreiben zu können, muss ein solides Data Warehouse als
Basis vorhanden sein. Skalierbarkeit, Performance und Integration sind wichtige Erfolgsfaktoren
– und gerade hier hat Oracle einiges zu bieten.
Data Warehouses sind für ressourcenintensive Abfragen optimiert und enthalten oft grosse
Mengen historischer Daten. Deshalb sind spezielle Anforderungen an Abfrageperformance und
Skalierbarkeit gefragt. Oracle bietet hier verschiedene Features, die für DWH- und OLAPDatenbanken entwickelt wurden.
1. Skalierbarkeit
Wer Data Warehouses mit Hunderten von Gigabyte oder mehreren Terabyte betreibt, weiss
Oracle-Features wie Partitioning, Table Compression und Parallel Execution zu schätzen.
Skalierbarkeit ist eine der Stärken der Oracle-Technologie.
Partitionierung wird oft in Data Warehouses eingesetzt, da sie einen enormen PerformanceGewinn bei Abfragen mit zeitlicher Einschränkung bewirkt und die Verwaltung der Daten
vereinfacht. Muss man alte oder fehlerhafte Daten aus der DB eliminieren, müssen diese nicht
mittels DELETE-Befehl gelöscht werden, sondern können partitionenweise mit einem DROPBefehl eliminiert werden.
Komprimierung ermöglicht eine Reduzierung der I/O-Belastung und somit auch der
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 können die SQL-Prozesse parallelisiert
werden. Insbesondere bei partitionierten Tabellen führt dies zu erheblichen
Performanceverbesserungen, wenn beispielsweise ein „Partition-wise Join“ ausgeführt werden
kann. Entsprechende Hardware vorausgesetzt, können durch geeignete Parallelisierung der ETLProzesse und Abfragen effiziente Data Warehouses im Terabyte-Bereich realisiert werden.
DWH front-end
DWH back-office
Anwender
reporting
tactical decision support
Erweiterte
Dateninhalte
Daten
Bewirtschaftung
(ETL)
CORE
Data Warehouse
Database
strategical analysis
data mining
Transaktionssysteme
(OLTP)
DatenExtrakte
Typische DWH-Architektur mit Quellsystemen, CORE Data Warehouse und Data Marts in
ROLAP- und MOLAP-Technologie
[email protected] . www.trivadis.com . Info-Tel. 0800 87 482 347 . Date 22.08.2007 . Page 1 / 4
2. Performance bei ROLAP und MOLAP
In OLAP-Systemen werden oft dimensionale Datenmodelle verwendet, die sich für flexible
Auswertungen nach unterschiedlichen Kriterien eignen und sowohl mit relationaler (ROLAP) als
auch mit multidimensionaler Technologie (MOLAP) implementiert werden können. Die
physische Implementierung mit ROLAP-Technologie erfolgt, indem ein sogenanntes „Star
Schema“, bestehend aus Dimensions- und Fakttabellen, erstellt wird. Die Dimensionstabellen
enthalten die Auswahl- und Gruppierungsmerkmale, während in der Fakttabelle die Kennzahlen
gespeichert sind. Oracle hat verschiedene Massnahmen implementiert, um Abfragen auf ein Star
Schema effizient auszuführen.
Durch die „Star Transformation“ können Abfragen mit Einschränkungen auf mehreren
Dimensionen sehr effizient ausgeführt werden. Hierbei evaluiert und kombiniert der Query
Optimizer zuerst die Einschränkungen auf den Dimensionstabellen, bevor anschliessend auf die –
oft sehr grosse – Fakttabelle zugegriffen wird. Voraussetzung dafür sind Bitmap Indizes auf allen
Fremdschlüsselattributen der Fakttabelle. Die Abfrageperformance lässt sich zusätzlich verbessern
durch gezielten Einsatz von Bitmap Join Indizes, welche den Join zwischen Fakt- und
Dimensionstabellen bereits zum Ladezeitpunkt ausführen und im Index speichern.
In OLAP-Anwendungen werden Daten oft über verschiedene Hierarchiestufen aggregiert. Der
Benutzer hat dadurch die Möglichkeit, „Drill-Ups“ oder „Drill-Downs“ auf verschiedene
Hierarchiestufen zu machen. Mittels Materialized Views und Query Rewrite können die
aggregierten Daten vorberechnet abgespeichert werden, um eine optimale Performance zu
erreichen. Der Optimizer ist nun in der Lage, je nach ausgewählter Hierarchiestufe entweder die
Detaildaten aus den Basistabellen oder die aggregierten Daten aus der Materialized View zu
verwenden. Die hierarchischen Zusammenhänge sollten über Oracle Dimensions definiert
werden, damit Query Rewrite auch für übergeordnete Hierarchiestufen funktioniert.
Ein zweiter Ansatz besteht darin, das dimensionale Modell mit multidimensionaler Technologie
zu implementieren und die Daten in sogenannten OLAP-Cubes zu speichern, die für typische
OLAP-Zugriffe wie Drill-Up und Drill-Down optimiert sind.
Mit der Oracle OLAP Option besteht die Möglichkeit, multidimensionale OLAP-Cubes als
„Analytic Workspaces“ (AW) in der relationalen Datenbank abzulegen. Abfragen auf einen AW
können sowohl über SQL als auch über eine spezielle multidimensionale Sprache (OLAP DML)
erfolgen. Noch nicht unterstützt wird von Oracle die multidimensionale Sprache MDX, die sich in
den letzten Jahren bei MOLAP-Datenbanken als Quasi-Standard etabliert hat.
3. Integration
ETL-Prozesse werden in Oracle-Umgebungen typischerweise mittels SQL und PL/SQL entwickelt.
Dabei sollte wenn immer möglich mengenbasiert gearbeitet werden. Ein „INSERT INTO …
SELECT FROM …“ ist viel effizienter als ein prozeduraler Cursor-Loop in PL/SQL. Daneben gibt es
verschiedene nützliche SQL-Erweiterungen wie das MERGE-Statement, welches INSERT und
UPDATE in einem Schritt durchführen kann, oder External Tables, mit denen auf einfache Weise
mittels SQL auf externe Files zugegriffen werden kann.
Bei der Implementation von ETL-Prozessen kommen heute vermehrt ETL-Tools zum Einsatz, die
eine komfortable und effiziente Entwicklung von Ladeprozessen ermöglichen.
Standardfunktionalitäten wie Fehlerbehandlung und Logging-Mechanismen sind hier schon
vorgefertigt. Die Datenflüsse und Transformationen werden grafisch in sogenannten Mappings
entwickelt.
Oracle stellt mit dem Oracle Warehouse Builder (OWB) ein ETL-Tool zur Verfügung, das die
Features der Datenbank weitgehend unterstützt. Aus den grafischen Mappings werden PL/SQLPackages generiert. Der OWB wird von Oracle jedoch nicht nur als ETL-Tool positioniert,
sondern als Integrationsplattform für DWH-Lösungen.
[email protected] . www.trivadis.com . Info-Tel. 0800 87 482 347 . Date 22.08.2007 . Page 2 / 4
Mit dem Oracle Warehouse Builder können ETL-Prozesse als grafische
Mappings entwickelt werden
Mit der Version 10g Release 2 wurde der OWB stark ausgebaut und mit einer neuen
Entwicklungsoberfläche versehen. Es gibt umfangreiche Features für Data Quality und Profiling,
Aufbau und Laden von multidimensionalen Strukturen sowie Metadatenaustausch mit Tools wie
dem Oracle Discoverer. In einer reinen Oracle-Umgebung entspricht der OWB mittlerweile den
Anforderungen an eine integrierte Entwicklungsumgebung. Während als Datenquellen
unterschiedlichste Systeme eingebunden werden können, werden als Ziel neben Flat Files
ausschliesslich Oracle-Datenbanken unterstützt. Nachdem Oracle letztes Jahr das ETLKonkurrenzprodukt Sunopsis gekauft hat, welches im Bereich von hetegorenen Systemen
vielversprechende Alternativen bietet, bleibt abzuwarten, ob und in welcher Zeit es Oracle
schafft, die Vorteile von OWB und Sunopsis zu einem ETL-Tool zu integrieren.
4. Frontend-Tools
Anwender jeder BI-Plattform sind am meisten – oder ausschliesslich – an der Präsentation der
Daten interessiert. Oracle bietet neben den Standard-Tools wie Oracle Reports und Oracle
Discoverer eine Menge von „Business Intelligence Solutions“, die insbesondere durch den Zukauf
von Siebel Systems und Hyperion Solutions umfangreich, aber auch unübersichtlich geworden
ist. Eine klare Strategie ist noch nicht ersichtlich, und wir werden uns gedulden müssen, bis die
verschiedenen Produkte zu einer einheitlichen BI-Plattform integriert sind. Momentan werden
unter dem Namen „Oracle BI Standard Edition“ die klassischen Oracle-Produkte vermarktet,
während die ehemaligen Siebel-Produkte als „Oracle BI Suite Enterprise Edition“ angeboten
werden.
[email protected] . www.trivadis.com . Info-Tel. 0800 87 482 347 . Date 22.08.2007 . Page 3 / 4
OracleBI Discoverer erlaubt Auswertungen auf ROLAP- und MOLAP-Datenstrukturen
Eine oft praktizierte Alternative ist der Zugriff auf ein Oracle Data Warehouse mit FrontendProdukten von Fremdherstellern. Während es im ROLAP-Bereich eine grosse Auswahl an Tools
auf dem Markt gibt, ist der MOLAP-Zugriff bisher nur wenigen Herstellern (z.B. Business Objects)
möglich.
5. Fazit
Oracle bietet mit seinem Datenbanksystem
eine ideale Basis für ein gut skalierbares und
performantes Data Warehouse. Mit dem
Oracle Warehouse Builder steht eine
integrierte Entwicklungsumgebung zur
Verfügung. Unklar ist die Strategie bei den
Frontend-Tools, die durch den Zukauf von
ehemaligen Konkurrenzprodukten umfangreich, aber auch unübersichtlich geworden ist.
DWH- und OLAP-Features
der Oracle-Datenbank
•
•
•
Dani Schnider
Trivadis AG
Europa-Strasse 5
CH-8152 Glattbrugg
Tel: +41-808 70 20
Fax: +41-808 70 21
Internet: www.trivadis.com
Mail: [email protected]
•
Performance und Skalierbarkeit:
- Bitmap Indizes
- Bitmap Join Indizes
- Star Transformation
- Materialized Views/Query Rewrite
- Dimensions
- Partitionierung (Option)
- Parallel Execution
- Table Compression
ETL-Features:
- Change Data Capture
- External Tables
- MERGE
- Multitable INSERT
- Table Functions
OLAP-Features:
- GROUP BY ROLLUP/CUBE
- Analytische Funktionen
- Model Clause (10g)
- Data Densification (10g)
BI-Tools und Optionen:
- OracleBI Discoverer
- Oracle OLAP Option
- Oracle Data Mining Option
[email protected] . www.trivadis.com . Info-Tel. 0800 87 482 347 . Date 22.08.2007 . Page 4 / 4
Herunterladen