oracle olap - doag.org · business unit datenbank ... dbms_aw.execute(' report w 30 down...
TRANSCRIPT
Oracle OLAP:Eine Übersicht
Marc BastienBusiness Unit DatenbankOracle Deutschland GmbH
DOAG Regional, 07.05.2003
Oracle OLAP Übersicht
� Agenda– Begriffe klären– Techn. Überblick: Oracle Produkte vorstellen und
erklären– Live-Demo: Aufbau des AW– Live-Demo2: wie den AW nutzen– Migration– Live-Demo3: Administration des AW– Programmierung– Schlusswort
OLAP?: Begriffe: ROLAP
Fakten
ROLAP:•Datenspeicherung in Tabellen•Metadaten: Dimensionen, Cubes, Maße•Berechnungen: SQL Erweiterungen (SQL99 und mehr)•Optimierte Joins und Zugriffspfade•Typisch: Star-Schema•Indizierung, MAVs etc. um Datenbank zu beschleunigen
Spezieller Client (spricht
SQL)
OLAP?: Begriffe: MOLAP
MOLAP-Würfel
MOLAP:•Datenspeicherung in speziellen Strukturen•Dimensionen, Cubes, Maße nativ•Berechnungen: komplette analytische Sprache inkl. umfangreicher Funktionen•Indizierung automatisch, Aggregation vordefiniert
Spezieller Client (spricht
MOLAP)
OLAP?: Oracle OLAP
Oracle OLAP:•Wahlweise Speicherung in Tabellen oder „Analytic Workspace“ (AW)•Tabellen: wie ROLAP•AW: wie MOLAP•Auch hybride Architekturen sind möglich•Metadatenschicht und API regelt Zugriff und ermöglicht automatisierten Abgleich
Client (spricht SQL)
Analytic Workspace
Fakten
OLAP API
Oracle 9 i MOLAP: Architekturvon Tonnen und Würfeln
Fakten
Analytic Workspace
Annahme: die Daten sind bereits in der relationalen DB gespeichertFragen:
•Wie kommen die Daten in den Analytic Workspace rein ?•Wie kommt man an die Daten aus dem Analytic Workspace ran ?•Was kann man mit den Daten im Analytic Workspace machen?
Oracle 9 i MOLAP: ArchitekturBefüllen des AW
Fakten AW
•Was: •Strukturen übertragen•Dimensionswerte und Daten übertragen
•Wie:•Selbst geschriebene Programme im AW (OLAP DML)•Aufruf von API-Packages•Tool: Analytic Workspace Manager (AWM)•Tool: Oracle Warehousebuilder
Oracle 9 i MOLAP: ArchitekturBefüllen des AW: Beispiel DML
SQL DECLARE C1 CURSOR FOR SELECT CHANNEL_ID, SHIP_TO_ID, ITEM_ID, MONTH_ID, UNITS_FACT FROM GLOBAL.GLB_SALES_DETAIL
sql open c1SQL FETCH C1 LOOP INTO
:GLOBAL.GLOBAL!AW_CHANNEL :GLOBAL.GLOBAL!AW_CUSTOMER :GLOBAL.GLOBAL!AW_PRODUCT :GLOBAL.GLOBAL!AW_TIME :GLOBAL.GLOBAL!SALESAW_UNITS.PARTIAL_DATA
sql close c1sql cleanup
relational multidimensional
Oracle 9i MOLAP: Befüllen des AW
LIVE: Oracle Enterprise Manager &Analytic Workspace Manager
Voraussetzungen:•Metadaten korrekt!
Oracle 9 i MOLAP: ArchitekturZugriff auf Daten des AW
AW
•Zugriff direkt mit DML•Zugriff über SQL:
•DBMS_AW Package•Ermöglicht die Ausführung von DML Befehlen aus SQL
•OLAP_TABLE Function•Macht AW Daten über SQL zugreifbar
•Direkter Zugriff mit Tools: Oracle 9i WebAgent, Oracle 9i Reports über API
Oracle 9 i MOLAP: ArchitekturZugriff auf Daten des AW: DML
->aw attach glb->LIMIT G_CUSTOMER TO 1->LIMIT G_CHANNEL TO G_CHANNEL_LEVELREL eq 'ALL_CHANNELS'->LIMIT G_PRODUCT TO TOP 4 BASEDON G_UNITS_FACT->LIMIT G_TIME TO G_TIME_YEAR_DSC EQ '1999'->REPORT w 30 DOWN G_PRODUCT w 30 G_UNITS_FACT
G_TIME: Jahr.2GCUSTOMER: ACCOUNT.22
-------G_UNITS_FACT-------------------G_CHANNEL---------
G_PRODUCT ALL_CHANNELS.1------------------- ---------------------------TOTAL_PRODUCT.1 2.328,00CLASS.3 1.384,00FAMILY.7 939,00CLASS.2 944,00
Oracle 9 i MOLAP: ArchitekturZugriff auf Daten des AW: DBMS_AW
SQL> SET SERVEROUT ON SIZE 1000000SQL> BEGIN DBMS_AW.EXECUTE('aw attach glb');DBMS_AW.EXECUTE('LIMIT G_CUSTOMER TO 1');DBMS_AW.EXECUTE('LIMIT G_CHANNEL TO G_CHANNEL_LEVELREL eq ''ALL_CHANNELS''');DBMS_AW.EXECUTE('LIMIT G_PRODUCT TO TOP 4 BASEDON G_UNITS_FACT');DBMS_AW.EXECUTE('LIMIT G_TIME TO G_TIME_YEAR_DSC EQ ''1999''');DBMS_AW.EXECUTE(' REPORT w 30 DOWN G_PRODUCT w 30 G_UNITS_FACT ');END;
G_TIME: Jahr.2G_CUSTOMER: ACCOUNT.22---------G_UNITS_FACT-------------------G_CHANNEL-----------G_PRODUCT ALL_CHANNELS.1------------------------------ ------------------------------TOTAL_PRODUCT.1 2,328.00CLASS.3 1,384.00CLASS.2 944.00FAMILY.7 939.00
PL/SQL procedure successfully completed.
Oracle 9 i MOLAP: ArchitekturZugriff auf Daten des AW: OLAP_TABLE
� „Row“ definieren– Spaltenstruktur festlegen
� „Table“ definieren– Das Objekt wird mehrere Zeilen haben!
� View definieren– Wie kommen die Daten in die View: OLAP_TABLE
� Daten nutzen– Die Daten des AW können wie jede andere Tabelle/View
direkt genutzt werden
– SQL*Plus, Discoverer, alle relationalen Abfragewerkzeuge
Oracle 9 i MOLAP: Analysenvolle „Analytische Power“ voraus!
� In 9i OLAP sind alle analytischen Funktionen von Oracle Express enthalten
– Aggregationen (Summen, Durchschnitte, gewichtete Durchschnitte)
– Allokationen (Verteilung von Daten auf Hierarchie-abhängige Knoten)
– Finanzmathematische Berechnungen– Statistische Berechungen und Forecasts
� z.B. Multi-linear, Holt-Winters, automatisch– Modelle
AW
Oracle 9 i MOLAP: ForecastDiverse Möglichkeiten durch eingebaute Logik
Holt-Winters. 'HOLT/WINTERS'
Double Exponential Smoothing. 'DESMOOTH'
Single Exponential Smoothing. 'SESMOOTH'
Nonlinear Regression Method 5.'NLREG5'
Nonlinear Regression Method 4.'NLREG4'
Nonlinear Regression Method 3.'NLREG3'
Nonlinear Regression Method 2. 'NLREG2'
Nonlinear Regression Method 1. 'NLREG1'
Linear Regression. A method in which a linear relationship (y=a*x+b) is fitted to the data
'LINREG'
The method that Oracle OLAP determines is the best fit for the data. (Default)
Automatic
BedeutungOption
Oracle 9 i MOLAP: AggregierenDiverse Möglichkeiten durch eingebaute Logik
Do not aggregate any data for this dimension. NOAGG
If any child data value is TRUE (FALSE), then the data value of its parent is TRUE (FALSE).
OR, AND
The first (last) non-NA data value.FIRST, LAST
The largest (smallest) data valueMAX, MIN
(Weighted Average) Multiplies each data value by a weight factor, adds the data values, and then divides that result by the sum of the weight factors.
WAVERAGE
(Weighted Sum) Multiplies each data value by a weight factor, then adds the data values.
WSUM
Adds data values, then divides the sum by the number of data values that were added together.
AVERAGE
Scaled SumSSUM
Adds data values. (Default)SUM
BedeutungOption
Oracle 9 i MOLAP: FinanzenDiverse Möglichkeiten durch eingebaute Funktionen
The GROWRATE function calculates the growth rate of a time-series expression, based on the first and last values of the series.
GROWRATE
The IRR function computes the internal rate of return associated with a series of cash flow values. Each value of the result is calculated to be theper-period discount rate that makes the net present value of the corresponding cash flows equal to zero.
IRR
The NPV function computes the net present value of a series of cash flow values.
NPV
Berechnet Abschreibungen auf verschiedene WeisenDEPRDECL
DEPRDECLSW
DEPRSLDEPRSOYD
BedeutungFunktion
Client: muss mind. SQL sprechen!
Mögliche Clients:•Alle SQL-Generierende FrontEnds
•Z.B. Oracle Discoverer•Weitere?
•Alle OLAP-API sprechende FrontEnds
•Oracle Reports•Oracle jDeveloper mit BI-Beans•Weitere?
Client (spricht SQL oder
OLAP API)
Analytic Workspace
Fakten
OLAP API
9i OLAP: Migration
� Express Datenbanken– Export to eif...; Import from eif...
� Express Applikationen– OEA: wird Tool für Metadaten geben– OWP: von Express Web Publisher 6.3.4 auf 9i
Web Publisher– OEO Oberflächen: sorry...: jDeveloper mit BI-
Beans– OFA/OSA: EPB Migration möglich