Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

© Thales IS GmbH 2002 Oracle's Data Warehousing Features 1 Thales Information Systems GmbH Im Team für Ihren Erfolg DOAG - Regionaltreffen Hannover Donnerstag,

Ähnliche Präsentationen


Präsentation zum Thema: "© Thales IS GmbH 2002 Oracle's Data Warehousing Features 1 Thales Information Systems GmbH Im Team für Ihren Erfolg DOAG - Regionaltreffen Hannover Donnerstag,"—  Präsentation transkript:

1

2 © Thales IS GmbH 2002 Oracle's Data Warehousing Features 1 Thales Information Systems GmbH Im Team für Ihren Erfolg DOAG - Regionaltreffen Hannover Donnerstag, Oracle 9i Data Warehousing Features External Tables Forall- und Bulk-Collect Henrik Rünger Thales-IS

3 Oracle's Data Warehousing Features 2 © Thales IS GmbH 2002 Thales Information Systems GmbH Im Team für Ihren Erfolg Agenda EXTERNAL TABLES Was sind external Tables? Beispiele technischer Aufbau Einschränkungen beim Gebrauch Performance Hints Vergleich SQL*Loader und external Tables Ausblick

4 Oracle's Data Warehousing Features 3 © Thales IS GmbH 2002 Thales Information Systems GmbH Im Team für Ihren Erfolg Was sind external Tables? Pendant zum SQL*Loader Datei befindet sich physisch im Filesystem Aussehen z.B. CSV Dateien Die Dateien werden innerhalb der DB durch ein logisches Verzeichnis erkannt Tabellen können abgefragt und gejoined werden (auch parallel Benutzung mit SQL)

5 Oracle's Data Warehousing Features 4 © Thales IS GmbH 2002 Thales Information Systems GmbH Im Team für Ihren Erfolg Anwendungsgebiete Alternative zum konventionellen Datenladen > da Datenzugriff ohne langwierige Ladeprogramme > Änderung der Daten ohne Commit/Rollback abwarten zu müssen Data Warehouses > grosse Datenlieferungen > viele Schnittstellen

6 Oracle's Data Warehousing Features 5 © Thales IS GmbH 2002 Thales Information Systems GmbH Im Team für Ihren Erfolg Beispiele _traditionell

7 Oracle's Data Warehousing Features 6 © Thales IS GmbH 2002 Thales Information Systems GmbH Im Team für Ihren Erfolg Traditionelles Laden Verarbeitungstabellen Arbeitstabellen SQL*Loader Konfigurationen Ladescripte z.B. PL/SQL LOAD DATA INFILE sh_sales.dat APPEND INTO TABLE sales FIELDS TERMINATED BY "|" ( PROD_ID, CUST_ID, TIME_ID, CHANNEL_ID, PROMO_ID, QUANTITY_SOLD, AMOUNT_SOLD) $ sqlldr sh/sh control=sh_sales.ctl direct=true

8 Oracle's Data Warehousing Features 7 © Thales IS GmbH 2002 Thales Information Systems GmbH Im Team für Ihren Erfolg Beispiel _als external Table

9 Oracle's Data Warehousing Features 8 © Thales IS GmbH 2002 Thales Information Systems GmbH Im Team für Ihren Erfolg Laden als external Tabelle Flat-Files == Verarbeitungstabellen Datensatzdefinitionen werden auf Minimum reduziert Zwischenschritte bei der Verarbeitung entfallen Pflegeaufwand wird weitaus geringer CREATE TABLE sales_transactions_ext ( PROD_ID NUMBER(6), CUST_ID NUMBER, TIME_ID DATE, CHANNEL_ID CHAR(1), PROMO_ID NUMBER(6), QUANTITY_SOLD NUMBER(3), AMOUNT_SOLD NUMBER(10,2), UNIT_COST NUMBER(10,2), UNIT_PRICE NUMBER(10,2) ) ORGANIZATION external ( TYPE oracle_loader DEFAULT DIRECTORY data_file_dir ACCESS PARAMETERS ( RECORDS DELIMITED BY NEWLINE CHARACTERSET US7ASCII BADFILE log_file_dir:'sh_sales.bad_xt' LOGFILE log_file_dir:'sh_sales.log_xt' FIELDS TERMINATED BY "|" LDRTRIM ) location ( 'sh_sales.dat' ) )REJECT LIMIT UNLIMITED; INSERT /*+ APPEND */ INTO COSTS ( TIME_ID, PROD_ID, UNIT_COST, UNIT_PRICE ) SELECT TIME_ID, PROD_ID, SUM(UNIT_COST), SUM(UNIT_PRICE) FROM sales_transactions_ext GROUP BY time_id, prod_id;

10 Oracle's Data Warehousing Features 9 © Thales IS GmbH 2002 Thales Information Systems GmbH Im Team für Ihren Erfolg technischer Aufbau CREATE TABLE sales_transactions_ext ( PROD_ID NUMBER(6), CUST_ID NUMBER, TIME_ID DATE, CHANNEL_ID CHAR(1), PROMO_ID NUMBER(6), QUANTITY_SOLD NUMBER(3), AMOUNT_SOLD NUMBER(10,2), UNIT_COST NUMBER(10,2), UNIT_PRICE NUMBER(10,2) ) ORGANIZATION external ( TYPE oracle_loader DEFAULT DIRECTORY data_file_dir ACCESS PARAMETERS ( RECORDS DELIMITED BY NEWLINE CHARACTERSET US7ASCII BADFILE log_file_dir:'sh_sales.bad_xt' LOGFILE log_file_dir:'sh_sales.log_xt' FIELDS TERMINATED BY "|" LDRTRIM ) location ( 'sh_sales.dat' ) )REJECT LIMIT UNLIMITED;

11 Oracle's Data Warehousing Features 10 © Thales IS GmbH 2002 Thales Information Systems GmbH Im Team für Ihren Erfolg technischer Aufbau Zusätzlich lässt sich beim Insert 9i MERGE verwenden Unterschiede zwischen Definition und Daten erlaubt geklärt sein muss: > Datei Format der Quell-Datei > Datenformat innerhalb dieser Datei Unterschiede zwischen Definition und Daten werden über AccessDriver ausgeglichen versucht

12 Oracle's Data Warehousing Features 11 © Thales IS GmbH 2002 Thales Information Systems GmbH Im Team für Ihren Erfolg Einschränkungen beim Gebrauch Read-Only (kein DML) Column processing Indexe sind nicht möglich > Schnelligkeit durch Betriebssystem (RAID, caching) keine Constraints möglich

13 Oracle's Data Warehousing Features 12 © Thales IS GmbH 2002 Thales Information Systems GmbH Im Team für Ihren Erfolg Performance Hints vorgegebene Längen in Datensätzen werden schneller verarbeitet Joins und Unions sind möglich Datentyp-Konvertierung erfordert mehr Zeit Condition Clauses (WHEN,NULLIF,DEFAULTIF) vermindert Ausführungsgeschwindigkeit insert as select ist möglich  parallel load

14 Oracle's Data Warehousing Features 13 © Thales IS GmbH 2002 Thales Information Systems GmbH Im Team für Ihren Erfolg Vergleich SQL*Loader und external Tables Discard; Bad File für jedes DatenfileFür alle Datendateien zusammen nur jeweils eins  Achtung! Parallel Load Client NLS UmgebungServer NLS Umgebung 1/3/5 Sequence 1/2/3 laufende Rejected Auflistung ContinueIF ConcatenateWerden nicht unterstützt Graphic, Graphic external, VargraphicWerden nicht unterstützt Leistungsfähigkeit SQL*Loader Alle Register des Filesystems

15 Oracle's Data Warehousing Features 14 © Thales IS GmbH 2002 Thales Information Systems GmbH Im Team für Ihren Erfolg Ausblick Reduzierung von Stellen zur Anpassung Geschwindigkeitsvorteile beim Massendatenladen Vorteile des Filesystems  Zwischenschritt auf dem Weg zur XML-DB > Ablage von XML-Dateien in der DB möglich > Definition dynamischer als in external Table Definition

16 Oracle's Data Warehousing Features 15 © Thales IS GmbH 2002 Thales Information Systems GmbH Im Team für Ihren Erfolg Ende Teil 1 Ihre Fragen bitte

17 Oracle's Data Warehousing Features 16 © Thales IS GmbH 2002 Thales Information Systems GmbH Im Team für Ihren Erfolg Agenda FORALL- und BULK-Collect Einführung Begriffserklärung Beispiel Praxisbeispiel forall & bulk Bulk Binding Deklaration Ausblick auf 9i

18 Oracle's Data Warehousing Features 17 © Thales IS GmbH 2002 Thales Information Systems GmbH Im Team für Ihren Erfolg Einführung PL/SQL greift bei SQL Anweisungen auf SQL-Engine zu SQL-Engine liefert u.U. Daten zurück jede Konversation erzeugt einen Overhead 3 x

19 Oracle's Data Warehousing Features 18 © Thales IS GmbH 2002 Thales Information Systems GmbH Im Team für Ihren Erfolg Einführung (2) Zuweisen von Werten in PL/SQL Variablen in SQL Statements Binding einer ganzen Collection = Binding = Bulk Binding Durch Bulk Binding werden Kontext Switches minimiert 1 x

20 Oracle's Data Warehousing Features 19 © Thales IS GmbH 2002 Thales Information Systems GmbH Im Team für Ihren Erfolg Beispiel

21 Oracle's Data Warehousing Features 20 © Thales IS GmbH 2002 Thales Information Systems GmbH Im Team für Ihren Erfolg Praxisbeispiel forall & bulk BEGIN OPEN c_sammlung; FETCH c_sammlung BULK COLLECT INTO srec.nr,srec.bez; CLOSE c_sammlung; FORALL k IN 1.. srec.nr.COUNT insert into sammlung_forall (nr, bez) values (srec.nr(k),srec.bez(k)); COMMIT; END; declare TYPE numarray IS TABLE OF NUMBER; TYPE varchararray IS TABLE OF VARCHAR2 (2000); TYPE datearray IS TABLE OF DATE; TYPE sammlung_rec IS RECORD ( nr numarray,bez VARCHARARRAY); srec sammlung_rec; CURSOR c_sammlung IS select * from sammlung;

22 Oracle's Data Warehousing Features 21 © Thales IS GmbH 2002 Thales Information Systems GmbH Im Team für Ihren Erfolg Bulk Binding SQL Engine wird angewiesen, Daten zu sammeln, ehe sie an die PL/SQL Engine zurückgeliefert werden Ziel muss immer eine Collection sein Collection von Records ist nicht möglich stark in Kombination mit FORALL

23 Oracle's Data Warehousing Features 22 © Thales IS GmbH 2002 Thales Information Systems GmbH Im Team für Ihren Erfolg Deklaration DECLARE TYPE NumTab IS TABLE OF emp.empno%TYPE; TYPE NameTab IS TABLE OF emp.ename%TYPE; enums NumTab; names NameTab; BEGIN SELECT empno, ename BULK COLLECT INTO enums, names FROM emp;... END;

24 Oracle's Data Warehousing Features 23 © Thales IS GmbH 2002 Thales Information Systems GmbH Im Team für Ihren Erfolg Ausblick auf 9i bei forall schlägt nicht mehr das ganze Statement fehl sql%bulk_exceptions collection Multilevel Collection syntax native dynamic SQL ist möglich bulk-collect ist mit %ROWTYPE Collection möglich

25 Oracle's Data Warehousing Features 24 © Thales IS GmbH 2002 Thales Information Systems GmbH Im Team für Ihren Erfolg Ende Teil 2 Ihre Fragen bitte


Herunterladen ppt "© Thales IS GmbH 2002 Oracle's Data Warehousing Features 1 Thales Information Systems GmbH Im Team für Ihren Erfolg DOAG - Regionaltreffen Hannover Donnerstag,"

Ähnliche Präsentationen


Google-Anzeigen