25

Oracle OLAP - doag.org · Business Unit Datenbank ... DBMS_AW.EXECUTE(' REPORT w 30 DOWN G_PRODUCT w 30 G_UNITS_FACT '); END; ... Custom Aggregates. Übersicht 9i OLAP: Ende

Embed Size (px)

Citation preview

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 9 i MOLAP: ArchitekturBefüllen des AW: AW-Manager

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 9i MOLAP: wie den AW nutzen

LIVE: SQL*Plus: DBMS_AW

OLAP Worksheet

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 9i OLAP: Nutzen des AW

LIVE: SQL*Plus /

OLAP_TABLE

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

Oracle 9i OLAP: Clients

LIVE: Discoverer

LIVE:Custom Aggregates

Übersicht 9i OLAP: Ende

� Achtung: Begriffsverwirrung!� 9i OLAP enthält die API und MOLAP� Basis für BI-Beans� Kann mit allen SQL-Clients benutzt werden� Aufbau erfolgt Tool-gestützt� Viele Funktionen und eigene

Programmiersprache