Data Warehousing und Data Mining Architektur und Komponenten von Data Warehouses Ulf Leser Wissensmanagement in der Bioinformatik
Inhalt dieser Vorlesung Architektur Komponenten ETL Ulf Leser: Data Warehousing and Data Mining 2
DWH Grobarchitektur: Hubs and Spokes Abgeleitete Sichten Mart 1 Mart 2 Mart 3 Mart 4 Aktualisierungen DWH Basisdatenbank Quelle 1 RDBMS Quelle 2 IMS Quellsysteme Quelle 3 Textfile Jahresumsatz: 2334.5565 Pro Monat Januar: 122.004 Februar 023.445 Ulf Leser: Data Warehousing and Data Mining 3
DWH Architektur & Komponenten Monitoring 100 80 60 40 20 0 1. Qrtl. 2. Qrtl. 3. Qrtl. 4. Qrtl. Analysewerkzeuge Data Mining Ost West Nord Quelle 1 RDBMS Metadaten Staging Area Mart 2 Quelle 2 IMS Staging Area Cube Mart 1 Datenquellen Arbeitsbereich Basisdaten Abgeleitete Sichten Ulf Leser: Data Warehousing and Data Mining 4
Langlebigkeit 100 80 60 40 20 0 1. Qrtl. 2. Qrtl. 3. Qrtl. 4. Qrtl. Ost West Nord Quelle 1 RDBMS Metadaten Staging Area Mart 2 Quelle 2 IMS Staging Area Cube Mart 1 Flüchtig Persistent Ulf Leser: Data Warehousing and Data Mining 5
Alternativen Physikalische Aufteilung variabel Data Marts auf eigenen Rechnern (Laptop) Staging Area auf eigenen Servern Metadaten auf eigenem Server (Repository) Quelle 1 RDBMS Quelle 2 IMS Staging Area Staging Area Cube Mart 2 Mart 1 Metadaten Ulf Leser: Data Warehousing and Data Mining 6
Inhalt dieser Vorlesung Architektur Komponenten ETL Ulf Leser: Data Warehousing and Data Mining 7
1. Datenquellen Meist sehr heterogen Technisch: RDBMS, IMS, Mainframe, Textfiles,... Logisch: Schema, Format, Repräsentation,... Syntaktisch: Datum, Währung,... Qualität: Fehlende / falsche Werte, Duplikate,... Rechtlich: Datenschutz (Kunden & Mitarbeiter) Zugriff Push: Quelle erzeugt regelmäßig Extrakte Pull: DWH stößt Zugriff an / Online-Zugriff Indivuelle Behandlung notwendig 100 80 60 40 20 0 1. 2. 3. 4. Qrtl. Qrtl. Qrtl. Qrtl. Ulf Leser: Data Warehousing and Data Mining 8
2. Arbeitsbereich 100 80 60 Temporärer Speicher Oft quellnahes Schema Sinn ETL Arbeitsschritte effizienter implementierbar Mengenoperationen, SQL Zugriff auf Basisdatenbank möglich (Upsert) Vergleich zwischen Datenquellen möglich Filterfunktion: Nur einwandfreie Daten in Basisdatenbank übernehmen 40 20 0 1. 2. 3. 4. Qrtl. Qrtl. Qrtl. Qrtl. Ulf Leser: Data Warehousing and Data Mining 9
3.Basisdatenbank 100 80 60 Zentrale Komponente des DWH DWH oft synonym für Basisdatenbank Speichert Daten in feinster Auflösung Einzelne Verkäufe Einzelne Bons Historische Daten Große Datenmengen Spezielle Modellierung Spezielle Optimierungsstrategien 40 20 0 1. 2. 3. 4. Qrtl. Qrtl. Qrtl. Qrtl. Ulf Leser: Data Warehousing and Data Mining 10
Analyseorientiertes DWH Klassische Datenmodellierung Ziele: Redundanzvermeung / Integritätswahrung / hoher Durchsatz bei nebenläufigem Zugriff Normalformen, Fremdschlüssel, Satzsperren Für Lesen und Schreiben geeignet Ergebnis Viele Relationen, unübersichtliches Schema Viele Joins in (fast) allen Queries notwendig Joins lenken vom Analyseziel ab man möchte lieber mit Begriffen des Geschäftsprozesses umgehen Im DWH: Multimensionale Modellierung Ulf Leser: Data Warehousing and Data Mining 11
Beispiel: Normalisiertes Schema year year customer name cust_class discount customer_ productg_ discount line_item order_ product_ amount single_price productgroup name product productgroup_ month Month year_ day day month_ session cust_ day_ time order session_ supply_ total_amount order_status order_ supply_ status supply_station region_ region name Ulf Leser: Data Warehousing and Data Mining 12
Multimensionales Schema customer name cust_class time day month year line_item order_ product_ amount single_price discount_rate product name product_group supply region Technische Informationen raus (Session) Zusammenfassen wo möglich (discount_rate) Denormalisierung Konzentration auf Businessobjekte und -prozesse Ulf Leser: Data Warehousing and Data Mining 13
Starschema customer name cust_class time day month year line_item order_ product_ Star amount single_price discount_rate product name product_group supply region Ulf Leser: Data Warehousing and Data Mining 14
Dimensionen und Fakten Faktentabelle customer name cust_class time day month year line_item order_ product_ amount single_price discount_rate product name product_group supply region Dimensionstabellen Ulf Leser: Data Warehousing and Data Mining 15
time Cube DVD Verkäufe in Hessen in 2002 2002 2001 2000 1999 Sales Cube Hessen NRW region Bücher CD Gesch. DVD produkt_group Cube -> Hypercube: Bon / Lieferant / Kunde /... Ulf Leser: Data Warehousing and Data Mining 16
4. Abgeleitete Sichten Analysten benötigen Daten Aggregiert und gruppiert Verkäufe nach Monat und Lieferant nach Niederlassung und Produkt Ausgewählt Alle Verkäufe in Niederlassung X Alle Verkäufe von Lieferant Y Probleme bei Auswertung auf Cube Scannen sehr großer Datenbestände notwendig Hohe Detailstufe des Cubes für viele Anfragen nicht notwendig Vorab-Erstellung von abgeleiteten Daten Data Marts Prä-aggregierte, angereicherte und gefilterte Sichten 100 80 60 40 20 0 1. 2. 3. 4. Qrtl. Qrtl. Qrtl. Qrtl. Ulf Leser: Data Warehousing and Data Mining 17
Materialized Views Aktualität der Sichten Asynchrone / synchrone Aktualisierung Manuelle / automatische Aktualisierung Verwendung von MV Für welche Anfragen soll eine (welche?) MV verwendet werden? Materialisierte Aggregation nach Wochen verwendbar für Aggregation nach Monaten? Ableitbarkeit von (Teil-)Anfragen aus Sichten Auswahl von MV Welche Sichten sollen materialisiert werden? Trade-Off Platzverbrauch, Aktualisierungskosten und Anfragebeschleunigung Ableiten von MV aus Workload Ulf Leser: Data Warehousing and Data Mining 18
5. Datenanalyse Einfache Auswertungen OLAP Operationen Reports OLAP Werkzeuge Häufig proprietäre Systeme und Indexstrukturen SAS, SPSS, BusinessObjects, Cognos, Excel, Funktionalität Grafische Oberflächen zur Navigation (Würfel) Interaktive Datenauswahl, Filtering, Chaining,... Präsentation: Grafiken, Tabellen, Reports,... Management: Zugriffsrechte, Scheduling, Standardreports versus Ad-hoc Anfragen 100 80 60 40 20 0 1. 2. 3. 4. Qrtl. Qrtl. Qrtl. Qrtl. Ulf Leser: Data Warehousing and Data Mining 19
Data Mining Finden verborgender, nicht-trivialer Informationen Bereiche Statistische Analyse Maschinelle Lernverfahren Knowledge Discovery in Databases (KDD) Suche nach Auffälligkeiten, Mustern, Regeln Viele Kunden, die Windeln kaufen, kaufen auch Bier Suche nach Erklärungsmodellen Modell: Abstraktion der Wirklichkeit Korrelation versus Kausalität Ulf Leser: Data Warehousing and Data Mining 20
Deskriptiv oder Präskriptiv Deskriptive Verfahren Zusammenfassen der wesentlichen Charakteristika von Daten Finden von Ausreißern Finden von Abhängigkeiten Warenkorbanalyse, Assoziationsregeln Finden von Gruppen (Clustering) Kunden mit gleichen Eigenschaften Präskriptive Verfahren Ableitung neuen Wissens auf den Daten Basiert auf Modellbildung (durch deskriptive Verfahren) Klassifikation Entscheungsbäume, Regelsysteme Vorhersage Extrapolation, Regression Ulf Leser: Data Warehousing and Data Mining 21
6. Metadatenrepository... key success factor in DWH... Erweiterung des Systemkatalogs Verwaltung relevanter Metadaten Quellbeschreibungen, Datentypen, Skripte, Prozessbeschreibungen, Schema, Zugriffsgruppen, Sichtdefinitionen, Versionskontrolle, Konfigurationsmanagement,... Ziele Nachvollziehbarkeit der Prozesse Zentrale Steuerung der Prozesse Technische Beschreibung des DWH Produkte: Platinum CA, Microsoft, Oracle,... Standards: IRDS, OIM, CWM,... 100 80 60 40 20 0 1. 2. 3. 4. Qrtl. Qrtl. Qrtl. Qrtl. Ulf Leser: Data Warehousing and Data Mining 22
Oracle Warehouse Builder Ulf Leser: Data Warehousing and Data Mining 23
Inhalt dieser Vorlesung Architektur Komponenten ETL: Extraction, Transformation, Load 100 80 60 40 20 0 1. 2. 3. 4. Qrtl. Qrtl. Qrtl. Qrtl. Ulf Leser: Data Warehousing and Data Mining 24
ETL - Extraktion Filtern der richtigen Daten aus den Quellen Korrekt und relevant (für das Ziel des DWH) Bereitstellung der Datenfiles im gewünschten Format zum gewünschten Zeitpunkt am gewünschten Ort Kontinuierliche Datenversorgung des DWH Producer - Consumer Quelle informiert über Änderungen DWH konsumiert Änderungen Ulf Leser: Data Warehousing and Data Mining 25
Parameter Wann liefert der Extraktor die Daten? Periodisch Synchron Ereignisgesteuert Welche Daten liefert der Extraktor? Kompletten Datenbestand (Snapshot) Alle Änderungen (Logfile) Nettoänderungen zu festen Zeitpunkten (Snapshot-Diff) In welcher Art liefert der Extraktor die Daten SQL Befehle (synchron/logfile: Replication) Flatfiles Ulf Leser: Data Warehousing and Data Mining 26
ETL - Transformation Transformation der Daten in eine DWH-gerechte Form Schema, Format, Semantik Laden soll so schnell wie möglich gehen Erledigung vieler Teilschritte außerhalb des DWH Arten von Transformationen Schema-/ Formattransformationen Datentransformationen Transformationen möglich an zwei Stellen Transformation der Quell-Extrakte in Load-Files Transformation von Staging-Area nach Basis-DB Ulf Leser: Data Warehousing and Data Mining 27
Schematransformationen 1 Welt 100 Anwendungen 1000 Schema Unterschiedliche Auffassungen Unterschiedliche Anforderungen Unterschiedliche Historie Unterschiedliche Datenmodelle Relationales Modell Objektorientierte Modelle (UML) Satzorientierte Formate (Cobol) Hierarchische Formate (IMS, XML) Unterschiedliche Modellierung Was ist Relation, was Attribut, was Wert? Schlüssel Ulf Leser: Data Warehousing and Data Mining 28
Datentransformationen Syntax von Werten Datum: 20. Januar 2003, 20.01.2003, 1/20/03 Codierungen: 1: Adr. unbekannt, 2: alte Adresse, 3: gültige Adresse, 4: Adr. bei Ehepartner,... Sprache Abkürzungen/Schreibweisen: Str., strasse, Straße,... Datentypen, Semantik Datentypen: Real, Integer, String Genauigkeit, Feldlänge, Nachkommastellen,... Skalen: Noten, Temperatur, Längen, Währungen,... Ulf Leser: Data Warehousing and Data Mining 29
ETL - Laden Effizientes Einbringen der neuen Daten in das DWH Techniken SQL Satzbasiert Standardschnittstellen: Embedded SQL, JDBC,... Einzelne Operationen oder proprietäre Erweiterungen Array Insert Beachtung und Aktivierung aller Datenbankverfahren Trigger, Indexaktualisierung, Transaktionen,... BULK Loader Funktionen DB-spezifische Erweiterungen zum Laden großer Datenmengen Benutzung von Anwendungsschnittstellen Bei manchen Produkten notwendig (SAP) Ulf Leser: Data Warehousing and Data Mining 30
BULK Uploads Für große Datenmengen einzige ausreichend performante Schnittstelle Kritischer Prozess LOAD füllt i.d.r. immer nur eine Tabelle LOAD setzt eine Sperre auf die gesamte Tabelle Während LOAD werden Integritätsconstraints, Trigger, Indexaktualisierung deaktiviert Nach LOAD werden IC überprüft und Indexe aktualisiert Trigger werden nicht ausgeführt Update oder Insert? (Upsert!) Performance von LOAD oft limitierender Faktor Ulf Leser: Data Warehousing and Data Mining 31
Beispiel Handelshaus, Daten einer Woche, 1 Filiale Laden mit voller Qualitätskontrolle Laden mit partieller Datenverbesserung Nur Laden 10 min 2 min 45 sec Handelshaus, Daten einer Woche, 2000 Filiale Laden mit voller Qualitätskontrolle 330h = 14d Laden mit partieller Datenverbesserung 67 h = 2,8d Nur Laden 25h = 1d Ulf Leser: Data Warehousing and Data Mining 32