<Insert Picture Here> Oracle Warehouse Builder 11g Alfred Schlaucher Oracle Data Warehouse Information Management und Data Warehouse Themen • Oracle Komponenten für das Data Warehouse • Anforderungen Data Warehouse und Datenintegration • Oracle Warehouse Builder • Data Quality Option Aufbau und Verwaltung von Data Warehouse-Umgebungen Verwaltung und Dokumentation Metadaten Ownerschaften Grid Control B&R Effiziente Datenhaltung Speichertechnik ILM Hardware ASM OLAP Datenintegration schnelles Bereitstellen DB-basiertes Laden Master Data QualitätsManagement ETL-Option management SAP Zugriff Data Profiling Daten-Zugriff Data Auditing Data Rules Security BI-Anwendungen Mandanten Match Merge Standard-Berichte Interaktive Berichte Data Mining Komplexe Analysen Oracle Komponenten im DWH-Einsatz Oracle EE Compression Verwaltung und Dokumentation Bitmapped Metadaten Ownerschaften Grid Control B&R Flashback RMAN Parallel Query Effiziente Datenhaltung Speichertechnik ILM Hardware ASM OLAP Diagnostic Pack Tuning Pack Repository (OWB) RAC Partition OLAP Data Guard Oracle Enterprise Edition Streams Datenintegration Enterprise-ETL schnelles Bereitstellen DB-basiertes Laden Data Quality Option Master Data QualitätsManagement ETL-Option management OBI SE SAP Zugriff Data Profiling OBI EE Daten-Zugriff Data Auditing Data Rules Security SAP Connect BI-Anwendungen Mandanten Match Merge Standard-Berichte Gateways Interaktive Berichte Data Mining Komplexe Analysen Label Security Data Mining Oracle Warehouse Builder • Design des kompletten Data Warehouse Systems • Logisches Design und Beschreibungsinformationen • Physisches Oracle Datenbank Design • Fast alle Datenbankobjekte von Oracle 10g • Bereitstellung der Datenbeschaffungsroutinen • 100% SQL und 100% PL/SQL - Generierung • • • • • Laufzeitkontrolle durch Runtime – System Universelles Metadaten Repository Automatisiertes ETL durch Scriptsprache Data Quality / Data Profiling Gehört zu den am häufigsten benutzten ETL-Tools Es gibt 3 Hauptgründe für den Einsatz von OWB 1. Performance 2. Effizientere Warehouse Architekturen 3. Preis Neue Anforderungen an Datenintegration und Datenmanagement Immer mehr Anwender benutzen Daten Die Anzahl der Systeme und damit der Schnittstellen steigt Die Bereitsstellungszeit der Daten wird zunehmend kürzer Datenmengen wachsen Herausforderungen für Datenintegration und Datenmanagement „Lösungen“ der Vergangenheit • Programmierung von Hand • Zerstreute Programm-Sourcen • Fehler bei der Entwicklung • Unnötige Doppelarbeit • Schlechte oder fehlende Dokumentation • Schlechte Wartbarkeit • Enorme Folgekosten • Unkündbare „Inselexperten“ • Immer wieder „Katastrophen“ im Echtbetrieb Wie war das nur? Die Geschichte der ETL-Tools geht in Richtung integrierter Werkzeuge 1992 1996 2000 2005 Datenbankbasierte ETL-Werkzeuge Separate Engine-gestützte ETL-Werkzeuge Programmgeneratoren Handprogrammierung Schnittstellen zu Quell und Zielsystemen (Ausschnitt) FlatFile Oracle (Remote) Log XML FlatFile XML Port FTP Port SAP Int. DB2 OS390, UDB Sybase, Informix, SQL-Server... Ext. Table Streams tcp Access/Excel MessageBroker Peoplesoft CDC UTL_FILE Gateway ODBC DB-Link Queue Adapter SQL Loader Webservices any System FlatFile PL/SQL XML DB-Link XML Queue Tabellen View Sequenz Index Cube MView Procedure Function Siebel eMail Warehouse Datenbank XML Knowledge Module (Q2/2008) <Insert Picture Here> Datenbank-basiertes Laden Datenbank – basiertes ETL • SQL basiert, d. h. die Oracle Datenbank wird ausgenutzt • • • • Möglichkeit primär mengenbasierte Operationen durchzuführen Wesentlich höhere Performance Automatisiertes Datenbankgeregelte Parallelisieren Datenbankgestütztes Ressources - Management • Unterstützung aller aktuellen Datenbank – ETL – Funktionen wie • • • • • Multiple Inserts Merge (Insert/Update) Direct Path Load Table Functions Partition Exchange and Load Datenbank – basiertes ETL • Vollständige Hints – Bibliothek • Verwendung aller Datenbank – Funktionen, z. B. auch analytische Funktionen • Im Gegensatz zu den von 3. Herstellern nachgebildeten z. T. unvollständigen Funktionen (Beispiel SQL CASE, Decode) • Datennahes Entwickeln • Leichtes performantes und mengenbasiertes Updaten von Sätzen • Ausnutzen temporärere Strukturen • Temp – Tables • Cache – Tables • Ausnutzen besonders schneller Tabellen – Objekte • Index – Based Tables • Direkter Zugriff auf Tabelleninhalte Datenbank - basiertes ETL • Nähe zu Katalogstrukturen • Alle Informationen stehen sofort zur Verfügung • Komplett – Definition aller physikalischen Objekte im Data Warehouse • (Tables, Index, Materialised Views, Partitioning ...) Datenbank – basiertes ETL im Zusammenhang mit OWB • ETL - Integriertes Data Quality • Data Cleansing / Data Profiling • ETL – Makro – Bildung / Experts • Integrierte datenbankbasierte Workflow – Umgebung • Web – basiertes Auswerten von Metadaten und Laufzeitergebnissen • Unterstützung der Datenbank – Near Realtime – Funktionalität wie Queues, Streams, CDC, Web Services <Insert Picture Here> OWB: Einzelaspekte und Screens Komponenten OWB Control Center Change Manager Datenmodeller Scheduler Data Viewer Mapper Repository Browser Runtime Audit Experts-Macros Rules Editor Dependencies Process Editor Data Profiler Hinterlegung fachlicher Beschreibungen Zurück Analyse der Quelldaten - Data Profiling Zurück Zrück Das gesamte System modellieren Zurück Datenmodelle entwerfen Zurück Komplette Definition von Tabellen Zurück Transformationen mit Mappings Zusätzliche Hilfsfenster des Mappingeditors Operatoren des Mappingeditors Zurück Testdatengenerierung Zurück Process-Editor Metadaten-Dependency-Manager Abhängigkeits- und Auswirkungsanalyse Zurück Metadaten-Browser (Web) Job-Kontrolle im Web Reporting über stattgefundene Ladeläufe Zurück Individuelle Listenreports über Metadaten HTMLDB Zurück 4 – Schichten Prozessverwaltung GesamtProzess TeilProzess TabellenMapping Column Transformation A1 Metadaten gestützte Steuerungslogik für das Data Warehouse Repository Steuertabellen Workflow / BPEL Variablen Variablen Zusammenfassen von Mappings zu Prozessen Prozesssteuerung z. B. mit Schleifen und Variablen Weitere Infos http://www.oracle.com/technology/products/warehouse/index.html Die neue Software OWB kann über OTN bezogen werden. http://www.oracle.com/technology/software/products/warehouse/index.html <Insert Picture Here> Data Quality Management Data Quality Management Prozess Information Management und Data Warehouse Themen • • • • • Oracle und Data Quality Data Quality Vorgehensweise bei der Datenqualitätsanalyse Exemplarische Analysen Cheers GmbH Zusammenfassung der Analyseergebnisse Datenqualität? Was ist das? Unsere Daten sind doch sauber! • Bis zu 20% der operativen Daten sind betroffen. • Unternehmen finanzieren schlechte mit 30-50% der IT-Ausgaben. • Über schlechte Daten redet man nicht, man arrangiert sich. Die Kosten der schlechten Daten Ohne Daten kein Business Daten sind der Treibstoff der Prozesse Information Chain Marketing Werbung Adresse KD-Daten Bedarf Adresse Kreditdaten Kunde Angebot Kredit OK Kundenbetreuer Bestelldaten Bestand Stammdaten Order Logistiksystem Lager Buchhaltung Verkaufsdaten Lieferschein Spedition Rechnung Mahnung Bezahlung Reklamation Kunde Operative Prozesse Aspekte der Datenqualität Korrekt Stimmig Vollständig Brauchbarkeit der Daten! Dokumentiert Redundanzfrei Aktuell Verfügbar (Access) Nützlich (TCO) Handhabbar Beispiel: Datenqualitätsproblem • 5 Millionen Privatkunden-Kontaktdaten • Davon 372112 unterschiedliche Berufe Wie wertvoll ist diese Art der Information? Kann damit eine Segmentierung für eine Marketingkampagne gesteuert werden? • Datenmaterial lässt Rückschlüsse auf die Geschäftsprozesse zu! Versteckte Kosten durch schlechte Datenqualität • Manuelles Nacharbeiten von Daten • Beschwerden -> Aufwand in Call Center • Erhöhte Projektkosten bei Einführung neuer Systeme • Bis 25% gestoppt, bis zu 60% Verzug aufgrund falscher oder fehlender Daten • Verspätete Unternehmensberichte • Verlorene Kunden durch schlechten Support • Produktionsausfälle durch Störung in der Supply Chain Data Profiling Hilfsmittel für viele Anforderungen 2 1 SoftwareEntwickler Fachmitarbeiter Verstehen der Anwendungsdaten. Erkennung von Schwachstellen in den Prozessen. 6 Wartungsmitarbeiter Überprüfen von Datenregeln. 3 Wem hilft das Data Profiling? 5 Data WarehouseEntwickler Lösen von Integrationsaufgaben. Blick in die Vorsysteme. 4 Datenmodellierer Erkennen von Datenstrukturen. Organisatoren+ Systemplaner Erkennen von Anforderungen. Ablauf Data Profiling Analyse Wo anfangen? - eignen sich die Daten für das Data Profiling? - Was ist über die Daten bekannt Environment - Datenmengen - Rechner - Planung notwendig Analysieren der Daten - „Augenfällige“ Erkenntnisse -> der erste Schuss - „Dinge, die sofort auffallen“ -> Domains / Pattern / PK - Visuelles Analysieren - Graphikeinsatz - Beziehungen analysieren Zurechtschneiden der Daten Ableiten von Regeln und Korrekturen - Daten aufbrechen - Teilmengen bilden - Referenzdaten zusammenführen - Sampling - Mehrfach - Profiling - Einsatz von ETL - Automatisches Erkennen - Benutzerdefinierte Regeln - Generieren von Korrekturmappings Dokumentieren der Ergebnisse - Ergebnisblatt - Definition Metadaten - Orga - Handbuch 1 2 3 4 5 6 7 X Ständige Kommunikation mit der Fachabteilung Regeln, die nicht abgedeckt werden und deren Lösung - komplexe Lookup – Beziehungen - Rekursive Strukturen - Tupel – übergreifende Abhängigkeiten ETL - Prozess - Mappings - Routinen - Workflow - Metadatenrepository Korrekte Daten „Induktives und deduktives“ Vorgehen • Wir wissen, vermuten Dinge die nicht stimmen • Wir können sinnvolle Analysen aufgrund bekannter Dinge ableiten Vermutungen verifizieren • Wir lassen uns überraschen, was da noch kommt • Wir stöbern in den Daten und • • • • entdecken Auffälligkeiten beginnen zu kombinieren stellen Hypothesen auf versuchen Zusammenhänge zu beweisen Neues entdecken Data Profiling mit OWB Methoden Die operativen Daten Feintuning zu den Analysemethoden Protokollierung laufende Analysen Drill Down zu den operativen Daten Verständlichkeit des Datenmodells (z. B. Homonyme) Kunden_Stamm Kundenstatus: P: Privatkunde F: Firmenkunde G: „guter“ Kunde K: „kein“ Kunde Produkte_Stamm Produktstatus: 1: Großhandelsware f. Baumärkte 2: Produkte kaufbar über Internet 3: Serviceleistung (Kredite und Handwerksleistung) Schlüsselanalyse (Eindeutigkeit in den Stammdaten) Doppelter Datensatz Unterschiedliche Sätze, aber Schlüsselfeld falsch gepflegt Unterschiedliche Sätze, aber Feld wird nicht genutzt Schlüsselanalyse (Eindeutigkeit in den Bewegungsdaten) Beziehungsanalyse (Wer hängt an wem? Wer ist isoliert?) Child Produkte_Stamm n:1 Parent Artikel_Gruppe Kardinalität Hilfsmittel: Referential Waisen Kreisbeziehung (Irgendwann passen die Daten nicht mehr zusammen) Bestellung Bestellnummer = 30 Kundennummer = 12 Zahlung ??? Bestellnummer = 30 Kundennummer = 21 Best_Position Bestellnummer = 30 Kundennummer = 12 Kunden_stamm Kundennummer = 12 Analyse von Hierarchien Artikelsparte ARTIKELSPARTENNR 1 , 2 ,3 Artikel_Gruppe ARTIKELSPARTENNR 1,4,3 ARTIKELGRUPPENNR 1,2,3,4,5,6,11,10,9,8,7 Produkte_Stamm ARTIKELGRUPPENNR 100,1,6,2,5,4,7,3,10 Hierarchie: ARTIKEL_GRUPPE -> ARTIKELSPARTE Beziehung PRODUKTE_STAMM -> ARTIKEL_GRUPPE Vergleich der Wertebereiche von referenzierenden Feldern Ergebnisse der Hierarchie- und Beziehungsanalyse BI ? Umsatz pro Sparte? Umsatz pro Gruppe? Umsatz pro Produkt? Werden korrekte Rechnungen gestellt? Umsatz pro Kunde? Macht die Kundenkarte Sinn? Sparten Gruppen Produkte Fehlerhafte Spartenkennzeichnung von Gruppen Orphans Falsche Statuskennzeichnung von Finanzprodukten Fehlerhafte Verschlüsselung von Artikel- und Produkten Bestellung Position Doppelte Produktnummern KundenStamm Doppelte Wertebelegung von Statuskennzeichnung für Privat- und Firmenkunden. Fehlerhafte , nicht rechenbare Einzelpreisbezeichnung Suche nach redundanten Informationen (1. Normalform) Kunden_Stamm Kundenstatus: P: Privatkunde F: Firmenkunde G: „guter“ Kunde K: „kein“ Kunde Folge: Alle Abfragen/Analysen über Privatkunden sind damit nicht mehr sauber durchführbar. (Z. B. Abfragen über die Wirkung der Kundenkarte. Hilfsmittel: Domainanalyse Functional Dependency Abhängigkeit zwischen GESAMT_POS_PREIS und PREIS: Warum ist der hier 98,5 % Suche nach redundanten Informationen (3. Normalform) Hilfsmittel: Beziehungsanalyse Abhängigkeit zwischen GESAMT_POS_PREIS und PREIS: Warum ist der hier 98,5 % Prüfung der aufgestellten Geschäftsregeln Stammdatenregel: Artikelnummer und Produktnummer sind alternativ zu füllen. Ein Statusfeld steuert mit Korrekt: Zusammen 100% (Alle Fälle erfasst) Korrekt, muß 0 sein Korrekt: Es kann nur ein Wert gepflegt sein. Korrekt, muß 0 sein Korrekt, muß 0 sein Korrekt, das sind die richtigen Werte Korrekt, das sind richtige Werte Problem: kein Schlüsselfeld ist gepflegt Korrekt, muß 0 sein Korrekt: Zusammen 100%. (Alle Fälle erfasst) Korrekt, muß 0 sein Problem Korrekt Stammdatenbetrachtung In einigen Fällen fehlen die Einkaufpreise ? Nicht normiertes Datenmaterial Mit solchen Daten kann man nicht rechnen Hilfsmittel: Pattern-Analyse Weitere Infos http://www.oracle.com/technology/products/warehouse/index.html Die neue Software OWB kann über OTN bezogen werden. http://www.oracle.com/technology/software/products/warehouse/index.html