Oracle OLAP

Transcrição

Oracle OLAP
Datenbankstammtisch
Oracle's multidimensionale Lösungen:
Oracle OLAP und Oracle Essbase
M. Fischer – Dresden, 15.06.2011
Agenda
Kurzvorstellung Robotron
Oracle‘s multidimensionale Lösungen im Überblick
Oracle OLAP
–
–
–
–
–
Geschichte
Technologie
OLAP Cube Views
Cube-Organized Materialized Views
Praxisbeispiel: Münchner Preisindex
Oracle Essbase
– Geschichte
– Technologie
– Praxisbeispiel: Informationsdatenbank Kommunale Finanzen
Produktpositionierung
Agenda
Kurzvorstellung Robotron
Oracle‘s multidimensionale Lösungen im Überblick
Oracle OLAP
–
–
–
–
–
Geschichte
Technologie
OLAP Cube Views
Cube-Organized Materialized Views
Praxisbeispiel: Münchner Preisindex
Oracle Essbase
– Geschichte
– Technologie
– Praxisbeispiel: Informationsdatenbank Kommunale Finanzen
Produktpositionierung
Robotron - Zahlen und Fakten
Gründungsjahr
1990
Mitarbeiterzahl
260 (Stand 04/2011)
Stammkapital
1,8 Mio. EUR
Umsatz 2010
20,2 Mio. EUR
Oracle-Partner
Geschäftssitz
Stuttgarter Str. 29
01189 Dresden
Tschechien
ISO 9001 zertifiziert
Schweiz
Österreich
Tochterunternehmen
Russland
Lösungs- und
Entwicklungspartnerschaft
Agenda
Kurzvorstellung Robotron
Oracle‘s multidimensionale Lösungen im Überblick
Oracle OLAP
–
–
–
–
–
Geschichte
Technologie
OLAP Cube Views
Cube-Organized Materialized Views
Praxisbeispiel: Münchner Preisindex
Oracle Essbase
– Geschichte
– Technologie
– Praxisbeispiel: Informationsdatenbank Kommunale Finanzen
Produktpositionierung
Oracle‘s multidimensionale
Lösungen im Überblick
Oracle Essbase
Oracle OLAP
Zweck
Kundenspezifisce analytische und
BI-Anwendungen mit einem Fokus
auf EPM; gebaut und gewartet von
Fachanwendern
Verbessert die Performance und
analytischen Fähigkeiten SQLbasierter BI-Anwendungen
Typ. Endanwender
Controller, Analysten in Fachabteilung, Fachabteilungsmgmt.
DBA, Fachanwender, Anwender
bestehender Berichtswerkzeuge
Käufer
Fachabteilung
IT
Systembetreiber
Fachabteilung (und IT)
IT
Datenmanagement
Speichert Daten in einer
multidimensionalen Datenbank auf
Platte und im Hauptspeicher
Speichert Daten in multidimensioalen
Objekten in der Oracle DB
Speicherform
Multidimensional
Multidimensional
Abfragesprache
MDX und XML/A
SQL oder Query Rewrite
Metadaten-Management
Benutzerverwaltet
IT-administriert
Security
Essbase und andere (z.B. LDAP)
Oracle DB
Architektur
Eigenständiger OLAP Server, Teil
der Oracle Fusion Middleware
Integrierte OLAP Engine in der Oracle
DB
Agenda
Kurzvorstellung Robotron
Oracle‘s multidimensionale Lösungen im Überblick
Oracle OLAP
–
–
–
–
–
Geschichte
Technologie
OLAP Cube Views
Cube-Organized Materialized Views
Praxisbeispiel: Münchner Preisindex
Oracle Essbase
– Geschichte
– Technologie
– Praxisbeispiel: Informationsdatenbank Kommunale Finanzen
Produktpositionierung
Oracle OLAP – Geschichte
1960 - 1985 Mainframe Express
– Entwickelt von Management Decision Systems (MDS)
1985 Übernahme von MDS durch Information Resources (IRI)
1985 - 1990 C-basierte Express Engine
– pcExpress (auf PC), Express MDB (auf anderen Plattformen)
1990 - 1995 Express bekommt GUIs
– Financial Management System, SalesAnalyzer, u.a.
1995 Übernahme von IRI durch Oracle
– Express Server, Oracle Financial Analyzer, Oracle Sales Analyzer,
Express Web Agent, Express SPL, Entwicklerwerkzeuge
Ab 1998 Oracle integriert Express Engine direkt in die Datenbank
2002 Erstes OLAP Release: Oracle9i OLAP
– Analytic Workspace Manager, OLAP DML, OLAP API
Agenda
Kurzvorstellung Robotron
Oracle‘s multidimensionale Lösungen im Überblick
Oracle OLAP
–
–
–
–
–
Geschichte
Technologie
OLAP Cube Views
Cube-Organized Materialized Views
Praxisbeispiel: Münchner Preisindex
Oracle Essbase
– Geschichte
– Technologie
– Praxisbeispiel: Informationsdatenbank Kommunale Finanzen
Produktpositionierung
Oracle OLAP
Option zur Oracle Database Enterprise Edition, aktuell 11gR2
Integrierte multidimensionale Engine mit fortgeschrittenen
analytischen Funktionen und Aggregationen
– Gewichtete und hierarchische Aggregationsmethoden
OLAP Catalog (OLAPSYS) erweitert das Data Dictionary, um
multidimensionale Modelle zu beschreiben
OLAP DML und java-basierendes OLAP API
SQL-Erweiterungen für den Zugriff auf multidimensionale
Datentypen (Analytic Workspace): OLAP_TABLE, MODEL
Administration über Oracle Enterprise Manager und Analytic
Workspace Manager
Analytic Workspace
Container multidimensionaler Daten und Objekte
(Dimensionen, Variablen, Programme, Formeln)
Analytic Workspace (AW) wird als BLOB in relationalen
Tabellen verwaltet
Programmiersprache OLAP DML
AW kann angelegt und verwaltet werden mit:
– Analytic Workspace Manager (AWM)
– Oracle Warehouse Builder (OWB)
– AW XML API
– OLAP DML
AW entspricht im weiteren Sprachgebrauch konzeptionell
einem OLAP Cube
Analytic Workspace Manager
Analytic Workspace Manager
Oracle OLAP Frontends
Oracle BI Enterprise Edition
Oracle Discoverer Plus OLAP
Oracle OLAP Excel Add-in (OLAP 10g)
Oracle BI Beans (OLAP 10g)
SQL-basierte BI-Werkzeuge und kundenspez. SQL-basierte
oder API-basierte Anwendungen
Drittanbieter: Simba Technologies MDX Provider for Oracle
OLAP, Bissantz DeltaMaster, Miner3D
Agenda
Kurzvorstellung Robotron
Oracle‘s multidimensionale Lösungen im Überblick
Oracle OLAP
–
–
–
–
–
Geschichte
Technologie
OLAP Cube Views
Cube-Organized Materialized Views
Praxisbeispiel: Münchner Preisindex
Oracle Essbase
– Geschichte
– Technologie
– Praxisbeispiel: Informationsdatenbank Kommunale Finanzen
Produktpositionierung
OLAP Cubes Views
SQL Query von OLAP Cubes (Analytic
Workspaces)
OLAP Cube wird als Star-Schema in
relationalen Views repräsentiert
– Dimensionen- und Fakten-Views
– Detail- und Summen-Faktenzeilen
– Analytische Faktenspalten für
Kennzahlen
OLAP Cube enthält
– Alle Kombinationen und
Summenebenen
– Analytische Berechnungen
Abfrage an ein Star-Schema
Abfrage ohne OLAP Cubes
Abfrage mit OLAP Cube Views
WITH sales_dense AS
(SELECT [breakout columns]
sales,
SUM(sales) over(PARTITION BY [breakout columns]
ORDER BY [time column] ASC range BETWEEN unbounded
preceding AND CURRENT ROW) AS sales_ytd
FROM
(SELECT [breakout columns]
a.sales
FROM
(SELECT [breakout columns]
SUM(f.sales) sales
FROM [table list]
WHERE [star join and other filters]
GROUP BY [breakout columns)
a PARTITION BY(breakout columns)
RIGHT OUTER JOIN
(-- need list of all time periods
SELECT DISTINCT [time columns]
FROM time_dim
b ON([join on relevant time level]))
) …
Continued…
SELECT [breakout columns],
sales,
sales_prior_year
sales_ytd,
sales_ytd_prior_year
FROM sales_cube_view
WHERE [star join]
Vereinfachte, performante Abfrage
Analytische Funktionen in OLAP
Zeitreihenanalye
Finanz-Modelle
Prognose
Auswahl an Funktionen
– einfach
– Expertensystem
Verteilungen
Regressionen
Berechnete Elemente
Eigene Funktionen
…und vieles mehr
mittels OLAP Cube Views alle per SQL erreichbar!
Agenda
Kurzvorstellung Robotron
Oracle‘s multidimensionale Lösungen im Überblick
Oracle OLAP
–
–
–
–
–
Geschichte
Technologie
OLAP Cube Views
Cube-Organized Materialized Views
Praxisbeispiel: Münchner Preisindex
Oracle Essbase
– Geschichte
– Technologie
– Praxisbeispiel: Informationsdatenbank Kommunale Finanzen
Produktpositionierung
Klassische Lösung für die Verwaltung
von Aggregaten
Materialized Views für
bessere Performance
BI Tool
Region
SQL
Date
Sales
by Region
Sales
by Date
Sales
by Product
Sales
by Channel
Query
Rewrite
Sales
Product
Relationales
Star-Schema
(Tabellen)
Channel
Viele unterschiedliche Abfragen
= viele MVs = Umfangreich!
More Time
Star Schema
Preparation Time
Less Time
Less Ad-Hoc
More Ad-Hoc
Predictable Queries
Unpredictable Query Patterns
Simple Calculations
Sophisticated Calculations
Ad-Hoc Nature of Application and Query Patterns
Cube-Organized Materialized Views
Ein
einzelner OLAP Cube liefert das Äquivalent tausender
Summen-Kombinationen
Der
Oracle11g SQL Query Optimizer behandelt OLAP Cubes
als MV’s und schreibt die Abfragen entsprechend um
Cube
Refresh mit den Standard MV Prozeduren
Innovative, einmalige Funktion in
Oracle Datenbank
Cube-Organized
Materialized Views
BI Tool
Region
SQL
Date
Query
Rewrite
Product
Channel
Relationales
Star-Schema
(Tabellen)
Automatic
Refresh
dbms_mview.refresh('CB$UNIT_CUBE','F')
Viele unterschiedliche Abfragen
= Ein Cube = Einfach!
More Time
Star Schema
Preparation Time
Multidimensional Data Types
Less Time
Less Ad-Hoc
More Ad-Hoc
Predictable Queries
Unpredictable Query Patterns
Simple Calculations
Sophisticated Calculations
Ad-Hoc Nature of Application and Query Patterns
Query Rewrite zum OLAP Cube
Query Rewrite zum OLAP Cube
Explain Plan Before
Query Time Before
Query Rewrite zum OLAP Cube
Explain Plan After
Query Time After
Database Query Optimizer schreibt automatisch Abfrage auf
OLAP Cube um
Agenda
Kurzvorstellung Robotron
Oracle‘s multidimensionale Lösungen im Überblick
Oracle OLAP
–
–
–
–
–
Geschichte
Technologie
OLAP Cube Views
Cube-Organized Materialized Views
Praxisbeispiel: Münchner Preisindex
Oracle Essbase
– Geschichte
– Technologie
– Praxisbeispiel: Informationsdatenbank Kommunale Finanzen
Produktpositionierung
Praxisbeispiel Oracle OLAP:
Münchner Preisindex
Wunsch des Sozialreferates einen Münchner Preisindex zu
berechnen Aussagen zu Preisentwicklungen, auch im
Vergleich zu Land und Bund
Preisindex wird monatlich ermittelt und basiert auf einem
Warenkorb mit 733 gewichteten Produkten
– Produkte werden mittels COICOP (Classification of Individual
Consumption by Purpose, UN-Klassifizierung) verschlüsselt
– COICOPs lassen sich nach Verwendungsart über mehrere
Ebenen gruppieren
Preisindex-Berechnung
Aus Einzelpreisen für jedes der 733 Produkte (COICOP) im
Warenkorb werden
– über Durchschnittspreise pro Geschäftskategorie
– zunächst Elementarindizes pro Geschäftskategorie
– und daraus Teilindizes
gebildet
Teilindizes werden mittels Wägungsanteil gewichtet entlang
der Ebenen bis hin zum Verbraucherpreisindex aggregiert
usw. Oracle OLAP
Ausgangsmaterial: monatliche Einzelpreise, sowie zentral
ermittelte Teilindizes (sogenannte Z-Positionen)
Definition des OLAP-Cubes im AWM
Definition des OLAP-Cubes im AWM
Definition des OLAP-Cubes im AWM
Auswertung im Discoverer für OLAP
Auswertung im Discoverer für OLAP
Warum Oracle OLAP?
Ausgangssituation: zwei Dimensionen (COICOP, Zeit) mit
komplexer Aggregation der Kennzahl (Verbraucherpreisindex)
Multidimensionale Berechnungsengine in der Datenbank
hohe Abfrageperformance
Vielzahl an fortgeschrittenen Aggregationsfunktionen
gewichtete und hierarchische Operatoren
Konzentration auf Algorithmus, statt auf Implementierung
Vorhandene Oracle-Infrastruktur im Projekt
– Datenbank Enterprise Edition
– Discoverer für OLAP
Agenda
Kurzvorstellung Robotron
Oracle‘s multidimensionale Lösungen im Überblick
Oracle OLAP
–
–
–
–
–
Geschichte
Technologie
OLAP Cube Views
Cube-Organized Materialized Views
Praxisbeispiel: Münchner Preisindex
Oracle Essbase
– Geschichte
– Technologie
– Praxisbeispiel: Informationsdatenbank Kommunale Finanzen
Produktpositionierung
Oracle Essbase – Geschichte
1992 Essbase wird durch Arbor Software veröffentlicht
– Extended Spread Sheet dataBASE
1994 - 1998 APIs und Essbase Web Gateway
1998 Fusion von Arbor mit Hyperion Solutions
1998 - 2003 neue Hyperion Anwendungen
– Begriff Business Performance Management (BPM) wird geprägt
2003 - 2007 neue Speicherformen, Hybrides OLAP
2007 Übernahme von Hyperion durch Oracle
– Essbase wird Kern von Oracle‘s Enterprise Performance
Management Strategie
Agenda
Kurzvorstellung Robotron
Oracle‘s multidimensionale Lösungen im Überblick
Oracle OLAP
–
–
–
–
–
Geschichte
Technologie
OLAP Cube Views
Cube-Organized Materialized Views
Praxisbeispiel: Münchner Preisindex
Oracle Essbase
– Geschichte
– Technologie
– Praxisbeispiel: Informationsdatenbank Kommunale Finanzen
Produktpositionierung
Oracle Essbase
Komponenten
– Essbase Datenbank (MDBMS)
– Essbase Administration Services
– Essbase Studio
Features
– Großer Funktionsumfang (Zeitreihen, Forecasts, Statistische und
multidimensionale Funktionen)
– Vielzahl von Berechnungsmethoden (Aggregation entlang
definierter Hierarchien, gespeicherte und dynamische
Berechnung auf Dimensionswerten, Kalkulationsskripte)
– Zurückschreiben in den Cube (z.B. für Plandaten)
– Unterstützung von MDX- und XML/A-Abfragen
– Zahlreiche Schnittstellen (Java-, C-, VB-API, MaxL) und
Anbindung von Quellen (RDBMS, Flat Files, Excel, XML, …)
Essbase Administration Services
Oracle Essbase Frontends
Oracle BI Enterprise Edition
Oracle Hyperion Smart View for Office
Oracle Hyperion Anwendungen
– Hyperion Planning, Hyperion Financial Reporting, Hyperion Web
Analyzer, Hyperion Interactive Reporting, Hyperion Visual
Explorer, Hyperion Smart Space
MDX/XMLA-basierte BI-Werkzeuge und kundenspez.
MDX/XMLA-basierte oder API-basierte Anwendungen
Drittanbieter: Applix, Arcplan, Cognos, Bissantz, Business
Objects …
Agenda
Kurzvorstellung Robotron
Oracle‘s multidimensionale Lösungen im Überblick
Oracle OLAP
–
–
–
–
–
Geschichte
Technologie
OLAP Cube Views
Cube-Organized Materialized Views
Praxisbeispiel: Münchner Preisindex
Oracle Essbase
– Geschichte
– Technologie
– Praxisbeispiel: Informationsdatenbank Kommunale Finanzen
Produktpositionierung
Praxisbeispiel Oracle Essbase:
Informationsdatenbank Komm. Finanzen
Ursprünglich eine OFA-Anwendung des Statistisches
Landesamt Sachsen
– Produktiv seit 1998
– Basiert auf Oracle Express
– Oracle Financial Analyzer (OFA) seit 2009 desupported
Migrationsprojekt: Ablösung der OFA-Anwendung durch
Kombination von Oracle Essbase und Oracle BI Suite
Über 100 Finanzkennzahlen sächsischer Gemeinden
Daten liegen seit 1992 sehr detailliert vor
Wesentliche Auswertedimensionen:
– Parameter, Gemeinden, Zeit
Datenbasis
Aktuell Verarbeitung von zwei Datensätzen
– Quartalsweise Kassendaten (ca. 50.000 neue DS pro Quartal)
– Jährl. Jahresendrechnungsdaten (ca. 200.000 neue DS pro Jahr)
Datensätze, sowie sämtliche Informationen zu Dimensionen
und Hierarchien werden in Textdateien geliefert
Aktuelles Datenvolumen: ca. 50 GByte in 32 Datenwürfeln
Kassendaten
Jahresendrechnung
Zeit
Jahre
Gebietsstand
(Datum)
Parameter
Wert
Gebietsstand
Gemeinden
(Datum)
Parameter
Wert
Gemeinden
Gliederung
Besonderheiten der
Auswertedimensionen
Parameterdimension:
– Umfasst tatsächlich erfasste und berechnete Kennzahlen
– Gruppiert in unbalancierter Hierarchie
Gemeindedimension:
– Umfasst alle sächsischen Gemeinden und kommunalen Verbände
– Neben Regionalhierarchie, zahlreiche hierarchisch gruppierbare
Zuordnungen für Gemeinden
– Zeitveränderliche Gemeindestrukturen und -zuordnungen:
• Neuer Gebietsstand, in der Regel zum 01.01.
• Für Vergleichbarkeit der Finanzdaten findet mit jedem neuen Jahr
Umrechnung der vergangenen Jahre auf neuen Gebietsstand statt
erhöhtes Datenvolumen
Besonderheiten der Aggregation
Aggregation in der Regel Summen
Ausnahmen:
– Bestandsgrößen: letzter Wert über Zeit, ansonsten Summe
– Quoten: nicht aggregierbar, Berechnung aus aggregierten
Basiswerten
– Besonderheiten bei Einwohnerzahlen
Für jede Kennzahl wird zusätzlich Kennzahlwert/1000 und
Kennzahlwert/Einwohner bestimmt
Aufbau Essbase-Datenbank
Auswertung mittels Oracle BI EE 11g
Agenda
Kurzvorstellung Robotron
Oracle‘s multidimensionale Lösungen im Überblick
Oracle OLAP
–
–
–
–
–
Geschichte
Technologie
OLAP Cube Views
Cube-Organized Materialized Views
Praxisbeispiel: Münchner Preisindex
Oracle Essbase
– Geschichte
– Technologie
– Praxisbeispiel: Informationsdatenbank Kommunale Finanzen
Produktpositionierung
Oracle‘s multidimensionale
Lösungen im Überblick
Oracle Essbase
Oracle OLAP
Zweck
Kundenspezifisce analytische und
BI-Anwendungen mit einem Fokus
auf EPM; gebaut und gewartet von
Fachanwendern
Verbessert die Performance und
analytischen Fähigkeiten SQLbasierter BI-Anwendungen
Typ. Endanwender
Controller, Analysten in Fachabteilung, Fachabteilungsmgmt.
DBA, Fachanwender, Anwender
bestehender Berichtswerkzeuge
Käufer
Fachabteilung
IT
Systembetreiber
Fachabteilung (und IT)
IT
Datenmanagement
Speichert Daten in einer
multidimensionalen Datenbank auf
Platte und im Hauptspeicher
Speichert Daten in multidimensioalen
Objekten in der Oracle DB
Speicherform
Multidimensional
Multidimensional
Abfragesprache
MDX und XML/A
SQL oder Query Rewrite
Metadaten-Management
Benutzerverwaltet
IT-administriert
Security
Essbase und andere (z.B. LDAP)
Oracle DB
Architektur
Eigenständiger OLAP Server, Teil
der Oracle Fusion Middleware
Integrierte OLAP Engine in der Oracle
DB
Strategie treibt Produktevolution
Oracle Essbase und Oracle OLAP haben ein Jahrzehnte altes Erbe
und Erfahrung
Früher waren Oracle Essbase und Oracle OLAP (Express) in der
gleichen Position
– Viele gemeinsame/ähnliche Funktionalitäten und Fähigkeiten
ABER die Oracle und Hyperion Strategien gingen vor Jahren
auseinander
Darum sind die OLAP-Produkte heute sehr unterschiedlich
– Oracle OLAP – Zielmarkt: Data Warehousing, Abfrageperformance,
analytischer Inhalt für SQL-basierte BI Tools
– Oracle Essbase – Zielmarkt: Performance Management, Controlling
Produktpositionierung
Spektrum der OLAP Anforderungen
Oracle
Essbase
Enterprise
Performance
Management
Oracle
OLAP
Enhanced Data
Warehousing
Oracle OLAP ist optimal für
– Beschleunigung von Abfragegeschwindigkeiten
– analytischen Inhalt für SQL-basierte BI Tools auf Oracle Datenbank
Oracle Essbase ist ideal für
– Performance Management Anwendungen
Beide Produkte sind strategisch für Oracle
Beide können Bestandteil einer Kundenlösung sein;
Architektur und Mitwirkung der IT bestimmen, was am besten passt
Produktsynergien und Integrationsplanung haben gerade erst
begonnen
Buchempfehlung
Oracle Essbase & Oracle OLAP:
The Guide to Oracle's
Multidimensional Solution
(Osborne Oracle Press Series)
– Mcgraw-Hill Professional (2009)
– ISBN-13: 978-0071621823
Fragen und Antworten
Marco Fischer
Dipl.-Wirtschaftsinformatiker
Leitender Systemberater
Certified Business Intelligence Professional
Robotron Datenbank-Software GmbH
Stuttgarter Straße 29
01189 Dresden
Telefon: (0351) 258 59 2755
Telefax: (0351) 258 59 3699
Mobil:
(0151) 15015533
[email protected]
www.robotron.de
Vielen Dank für Ihre
Aufmerksamkeit!