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 Aktualisierungen Mart 3 DWH Quelle 1 RDBMS Quelle 2 IMS Mart 4 Basisdatenbank Quelle 3 Textfile Jahresumsatz: 2334.5565 Pro Monat Januar: 122.004 Februar 023.445 Quellsysteme Ulf Leser: Data Warehousing and Data Mining 3 DWH Architektur & Komponenten Analysewerkzeuge Data Mining 100 80 Monitoring 60 Ost 40 West 20 Nord 0 1. Qrtl. 2. 3. 4. Qrtl. Qrtl. Qrtl. Metadaten Quelle 1 RDBMS Staging Area Staging Area Quelle 2 IMS Datenquellen Arbeitsbereich Ulf Leser: Data Warehousing and Data Mining Mart 2 Cube Basisdaten Mart 1 Abgeleitete Sichten 4 Langlebigkeit 100 80 60 Ost 40 West 20 Nord 0 1. Qrtl. 3. 4. Qrtl. Qrtl. Metadaten Quelle 1 RDBMS Staging Area Quelle 2 IMS 2. Qrtl. Mart 2 Cube Staging Area 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 Mart 2 Staging Area Staging Area Cube Quelle 2 IMS 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 100 • Meist sehr heterogen 80 60 40 20 – Technisch: RDBMS, IMS, Mainframe, Textfiles, ... – Logisch: Schema, Format, Repräsentation,... – Syntaktisch: Datum, Währung, ... – Qualität: Fehlende / falsche Werte, Duplikate, ... – Rechtlich: Datenschutz (Kunden & Mitarbeiter) 0 1. • Zugriff – Push: – Pull: Quelle erzeugt regelmäßig Extrakte DWH stößt Zugriff an / Online-Zugriff • Individuelle Behandlung notwendig Ulf Leser: Data Warehousing and Data Mining 2. 3. 4. Qrtl. Qrtl. Qrtl. Qrtl. 8 2. Arbeitsbereich 100 80 60 40 20 • Temporärer Speicher • Oft quellnahes Schema • Sinn 0 1. – ETL Arbeitsschritte effizienter implementierbar • Mengenoperationen, SQL – Zugriff auf Basisdatenbank möglich (Upsert) – Vergleich zwischen Datenquellen möglich – Filterfunktion: Nur einwandfreie Daten in Basisdatenbank übernehmen Ulf Leser: Data Warehousing and Data Mining 2. 3. 4. Qrtl. Qrtl. Qrtl. Qrtl. 9 3.Basisdatenbank 100 80 60 40 20 • Zentrale Komponente des DWH 0 1. – „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 Ulf Leser: Data Warehousing and Data Mining 2. 3. 4. Qrtl. Qrtl. Qrtl. Qrtl. 10 Analyseorientiertes DWH • Klassische Datenmodellierung – Ziele: Redundanzvermeidung / 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: Multidimensionale Modellierung Ulf Leser: Data Warehousing and Data Mining 11 Beispiel: Normalisiertes Schema customer id name cust_class discount customer_id productg_id discount productgroup line_item order_id product_id amount single_price year id year month id Month year_id day id day month_id order session id cust_id day_id time Ulf Leser: Data Warehousing and Data Mining id session_id supply_id total_amount order_status order_id supply_id status id name product id productgroup_id supply_station id region_id region id name 12 Multidimensionales Schema customer product id name cust_class time id day month year • • • • id name product_group line_item order_id product_id amount single_price discount_rate supply id 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 product id name cust_class time id day month year id name product_group line_item order_id product_id amount single_price discount_rate Ulf Leser: Data Warehousing and Data Mining Star supply id region 14 Dimensionen und Fakten Faktentabelle customer product id name cust_class time id day month year id name product_group line_item order_id product_id amount single_price discount_rate supply id region Dimensionstabellen Ulf Leser: Data Warehousing and Data Mining 15 Cube DVD Verkäufe in Hessen in 2002 time 2002 region Sales Cube 2001 2000 NRW Hessen 1999 DVD Gesch. CD Bücher 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 100 80 60 40 20 0 1. – 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 Ulf Leser: Data Warehousing and Data Mining 2. 3. 4. Qrtl. Qrtl. Qrtl. Qrtl. 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 100 80 60 40 20 0 1. • 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 Ulf Leser: Data Warehousing and Data Mining 2. 3. 4. Qrtl. Qrtl. Qrtl. Qrtl. 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 • Entscheidungsbä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 100 80 60 40 20 0 1. – 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, ... Ulf Leser: Data Warehousing and Data Mining 2. 3. 4. Qrtl. Qrtl. Qrtl. Qrtl. 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 10 min Laden mit partieller Datenverbesserung 2 min Nur Laden 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 Ulf Leser: Data Warehousing and Data Mining 25h = 1d 32