Data Warehouses Sommersemester 2011 Melanie Herschel [email protected] Lehrstuhl für Datenbanksysteme, Universität Tübingen Kapitel 1 Einführung • Vorstellung • Organisatorisches • Data Warehouses • Ausblick auf das Semester 2 Credit: Michael Marcol http://www.freedigitalphotos.net/images/view_photog.php?photogid=371 Willkommen! Zu meiner Person... Aufgewachsen in Bayern & Lothringen 2000 - 2003 Studium an der Berufsakademie Stuttgart Information Technology 2003 - 2007 Wissenschaftliche Mitarbeiterin an der HU Berlin und am HPI Potsdam Datenqualität & Datenintegration 2007 Promotionsverteidigung 2008 - 2009 Post-Doc am IBM Almaden Research Center, Kalifornien Datenherkunft seit 06/2009 Wissenschaftliche Mitarbeiterin an der Uni Tübingen “Debugging” von Anfragen mit Nautilus rschel e nie H Mela am .d e gen e/te 81 e b in e n .d -7 5 4 b in g u n i- tu 1 29 i- tu e 7 07 h e l@ n c 9 .u s 4 r k Tel + m e la n ie .h e b .i n f o r m a ti Email tt p :/ / w w w -d b h /her sche l We 3 Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen Willkommen ... und jetzt sind Sie dran. er zugezogen? Einheimisch od Welc hes S emest er? Studiengang: Inform atik, andere? Maste r vs. Diplom ? Ihre Motivation? , DBS2, Vorwissen DBS1 sungen? andere DB-Vorle 4 Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen Kapitel 1 Einführung • Vorstellung • Organisatorisches • Data Warehouses • Ausblick auf das Semester 5 Credit: Michael Marcol http://www.freedigitalphotos.net/images/view_photog.php?photogid=371 Termine & Vorlesungsmaterial Vorlesung Wann? Wo? jeden Donnerstag, 10:15 - 11:45 Uhr Sand 13, A104 ca. jeden 2. Freitag, 10:15 - 11:45 Uhr Sand 13, A104 Sand C118 am 10.6. Vorlesungstermine: 15.4., 21.4., 6.5., 12.5., 13.5., 20.5., 26.5., 27.5., 27.5., 9.6.,10.6., 24.6., 1.7., 7.7., 8.7., 14.7., 15.7. Übung Wann? Wo? ca. jeden 2. Freitag, 10:15 - 11:45 Uhr Sand 13, A104 Übungstermine: 5.5., 19.5., 3.6., 30.6., 21.7. http://www-db.informatik.uni-tuebingen.de/teaching/ss11/dw Hier werden die Folien und aktuelle News zur Vorlesung bereitgestellt. 6 Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen Organisatorisches Voraussetzungen Mindestvoraussetzung: Datenbanken I • Relationenmodell • ER-Modellierung • SQL Von Vorteil: Datenbanken II • Anfrageübersetzung von Joins • Grundzüge der Anfrageoptimierung 7 Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen Organisatorisches Leistungserfassung Klausur / Prüfung • Je nach Teilnehmerzahl am 22. Juli 2011 • Klausur • 90 minütige Klausur, die um 10:15 Uhr beginnt • Es sind keine Hilfsmittel erlaubt. • Mündliche Prüfung: 30 Minuten, Termin nach Vereinbarung Übung • Die Übung besteht aus fünf Übungsblättern. • Sie dürfen und sollten die Aufgaben in Zweier-Gruppen bearbeiten. • Spätester Abgabetermin (nur schriftliche Abgabe!) ist jeweils der Tag vor dem Besprechungstermin, 13 Uhr 8 Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen Zu diesen Folien... Quizzies Definition Hier lohnt es sich, mitzuschreiben! Beispiel Code snippet 9 Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen Literatur •Andreas Bauer und Holger Günzel. Data Warehouse Systeme. dpunkt Verlag. •Wolfgang Lehner. Datenbanktechnologie für Data-Warehouse-Systeme •Christian S. Jensen, Torben Bach Pedersen und Christian Thomsen. Multidimensional Databases and Data Warehousing. Synthesis Lecture on Data Management, Morgan & Claypool. •Jeweils Literaturhinweise in der Vorlesung 10 Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen Fragen & Feedback • Fragen bitte jederzeit! • Während der Vorlesung • Email, Telephon • Feedback und Anregungen sind Willkommen! • Folien • Informationen im Web • ... • Sprechstunde nach Vereinbarung 11 Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen Lehrstuhl für Datenbansysteme, Uni Tübingen Ferry Nautilus Pathfinder Habitat 12 Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen Kapitel 1 Einführung • Vorstellung • Organisatorisches • Data Warehouses • Ausblick auf das Semester 13 Credit: Michael Marcol http://www.freedigitalphotos.net/images/view_photog.php?photogid=371 Data Warehouse Einsatzgebiete • Risikomanagement bei Versicherungen • Marktforschung bei WalMart und Co. über alle Filialen • Konzernmonitoring von ERP-Prozessen in Pharma-Unternehmen • Customer Relationship Management bei Amazon und Partnershops • Weltweite Logistik bei DHL • Analyse weltweit gewonnener wissenschaftlicher Daten • ... Wesentliche Eigenschaften ! Integration mehrerer Datenquellen, um eine globale Sicht zu erhalten. ! Analyse großer Datenmengen 14 Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen Definition eines Data Warehouse Definition eines Data Warehouse nach William H. Inmon A data warehouse is a subject oriented, integrated, time variant, non-volatile collection of data in support of management’s decision making process. [Inmon92] • subject oriented: für bestimmte Entitätentypen zugeschnitten, z.B. Verkäufe, Produkte, Läden. • integrated: die Daten im Data Warehouse stammen i.d.R. aus verschiedenen Quelldatenbanken, z.B., aus mehreren Verlagskatalogen, Lagerbeständen einzelner Lager, Einnahmen einzelner Läden, usw. • time-variant: Data Warehouse zeigt die zeitliche Evolution der betrachteten Entitäten. • non-volatile: Daten werden nicht gelöscht oder nachträglich geändert, Änderungen im Datenbestand sind allein auf das Laden neuer Daten zurückzuführen. • support decision making: nur wichtige Daten für solche Entscheidungen speichern. 15 Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen Motivation für ein Data Warehouse Anwendungsfall ! Eine oder mehrere (ähnliche) Datenbanken mit Bücherverkaufsinformationen ! Daten werden oft aktualisiert ! Jede Bestellung einzeln ! Katalogupdates täglich ! Management benötigt Entscheidungshilfen (decision support) ! Komplexe Anfragen Quelle: Ulf Leser, VL Data Warehouses Datenintegration & Datenherkunft | WS2010/11 | Melanie Herschel | Universität Tübingen 16 Motivation für ein Data Warehouse Anwendungsfall - Bücher im Internet bestellen Backup Durchsatz Loadbalancing Portfolio Umsatz Werbung Zielkonflikt SQL Quelle: Ulf Leser, VL Data Warehouses 17 Datenintegration & Datenherkunft | WS2010/11 | Melanie Herschel | Universität Tübingen Motivation für ein Data Warehouse Anwendungsfall - Die Datenbank dazu Year id year Month Id Month year_id Day Id day month_id Bookgroup id name Order Order_id book_id amount single_price Orders Id Day_id Customer_id Total_amt Book id Book_group_id Customer id name Quelle: Ulf Leser, VL Data Warehouses Datenintegration & Datenherkunft | WS2010/11 | Melanie Herschel | Universität Tübingen 18 Motivation für ein Data Warehouse Anwendungsfall - Fragen eines Marketingleiters Wie viele abgeschlossene Bestellungen haben wir jeweils im Monat vor Weihnachten, aufgeschlüsselt nach Produktgruppen? Year id year Month Id Month year_id Day Id day month_id Bookgroup id name Order Order_id book_id amount single_price Book id Book_group_id Orders Id Day_id Customer_id Total_amt Customer id name Quelle: Ulf Leser, VL Data Warehouses Datenintegration & Datenherkunft | WS2010/11 | Melanie Herschel | Universität Tübingen 19 Motivation für ein Data Warehouse Anwendungsfall - Technisch SQL Anfrage des Marketingleiters SELECT! Y.year, BG.name, count(B.id) FROM year Y, month M, day D, order O, orders OS, book B, bookgroup BG WHERE! M.year = Y.id and ! M.id = D.month and ! O.day_id = D.id and ! OS.order_id = O.id and ! B.id = O.book_id and ! B.book_group_id = BG.id and ! day < 24 and month = 12 GROUP BY Y.year, PG.product_name ORDER BY Y.year 6 Joins Problem! Year: ! 10 Records Month: ! 120 Records Day: ! 3650 Records Orders:! 36.000.000 Order:! 72.000.000 Books: ! 200.000 Bookgroups:! 100 Schwierig zu optimieren (Join-Reihenfolge) Je nach Ausführungsplan riesige Zwischenergebnisse Ähnliche Anfragen – ähnlich riesige Zwischenergebnisse Quelle: Ulf Leser, VL Data Warehouses Datenintegration & Datenherkunft | WS2010/11 | Melanie Herschel | Universität Tübingen 20 Motivation für ein Data Warehouse Anwendungsfall - In Wahrheit... Es gibt noch: ! Amazon.de ! Amazon.fr ! Amazon.it ! ... Verteilte Ausführung ! Count über Union mehrerer gleicher Anfragen in unterschiedlichen Datenbanken? Quelle: Ulf Leser, VL Data Warehouses Datenintegration & Datenherkunft | WS2010/11 | Melanie Herschel | Universität Tübingen 21 Motivation für ein Data Warehouse Anwendungsfall - In Wahrheit... Quelle: Ulf Leser, VL Data Warehouses Datenintegration & Datenherkunft | WS2010/11 | Melanie Herschel | Universität Tübingen 22 Motivation für ein Data Warehouse Anwendungsfall - Technisch eine Sicht (View) Sichtdefinition CREATE VIEW christmas AS ! SELECT ! Y.year, PG.name, count(B.id) FROM! ! DE.year Y, DE.month M, DE.day D, DE.order O, ... WHERE ! M.year = Y.id and ... GROUP BY!Y.year, PG.product_name ORDER BY ! Y.year UNION ! SELECT ! Y.year, PG.name, count(B.id) FROM!! EN.year Y, EN.month M, EN.day D, DE.order O, ... WHERE! M.year = Y.id and ... Verwendung der Sicht in einer SQL Anfrage SELECT ! FROM! ! GROUP BY! ORDER BY! year, name, count(B.id) christmas year, name year! Quelle: Ulf Leser, VL Data Warehouses Datenintegration & Datenherkunft | WS2010/11 | Melanie Herschel | Universität Tübingen 23 Motivation für ein Data Warehouse Anwendungsfall - Probleme Frage 1: Count über Union über verteilte Datenbanken? ! Heterogenitätsproblem • Quellen werden Schemata verändern • Länderspezifischer Eigenheiten (MWST, Versandkosten, Sonderaktionen, ...) • Oftmals verborgene Änderungen in der Semantik der Daten Frage 2: Berechnung riesiger Zwischenergebnisse bei jeder Anfrage? ! Datenmengenproblem • Transport großer Datenmengen durchs Netz • Historische Sicht -Datenmengen wachsen immer weiter • Operative Systeme brauchen die historischen Daten nicht " Ziel: Frühes löschen (abgeschlossene Bestellungen) • Manager brauchen viele der operativen Daten nicht " Ziel: Alles aufheben Quelle: Ulf Leser, VL Data Warehouses Datenintegration & Datenherkunft | WS2010/11 | Melanie Herschel | Universität Tübingen 24 Motivation für ein Data Warehouse Anwendungsfall - Lösung Heterogenitätsproblem? Zentrale Datenbank Probleme: ! Zweigstellen schreiben übers Netz ! Lange Antwortzeiten im operativen Betrieb ! Datenmengenproblem bleibt Quelle: Ulf Leser, VL Data Warehouses 25 Datenintegration & Datenherkunft | WS2010/11 | Melanie Herschel | Universität Tübingen Motivation für ein Data Warehouse Anwendungsfall - Lösung Anfragezeit? UK DE FR Probleme: ! Schnelle lokale Anfragen ! Lange Antwortzeiten für strategische Anfragen ! Heterogenitätsproblem bleibt Quelle: Ulf Leser, VL Data Warehouses Datenintegration & Datenherkunft | WS2010/11 | Melanie Herschel | Universität Tübingen 26 Motivation für ein Data Warehouse Anwendungsfall - Lösung Datenmengenproblem? A Replikation A Replikation A Probleme: ! Lokale Anfrage arbeiten auf riesigen Tabellen ! Verzögerung im operativen Betrieb ! Lange Antwortzeiten für strategische Anfragen Quelle: Ulf Leser, VL Data Warehouses Datenintegration & Datenherkunft | WS2010/11 | Melanie Herschel | Universität Tübingen 27 Motivation für ein Data Warehouse Anwendungsfall - Tatsächliche Lösung Aufbau eines Data Warehouse ! Redundante Datenhaltung ! Transformierte und Selektierte Daten ! Spezielle Modellierung ! Asynchrone Aktualisierung Quelle: Ulf Leser, VL Data Warehouses Datenintegration & Datenherkunft | WS2010/11 | Melanie Herschel | Universität Tübingen 28 Operative Datenbanken vs. Data Warehouses Perspektive der Anwendung Anwendertyp Sachbearbeiter Operative Datenbank Interaktionsdauer Anfragestruktur und -typ kurze Transaktionen (echtzeit bis wenige Sekunden) einfach strukturiert Bereich einer Anfrage Anzahl gleichzeitiger Anwenderzahl Zugriffe wenige Datensätze sehr viele (Tausende) (überwiegend Einzeltupelzugriffe) sehr viele Insert, Update, Delete Data Warehouse Manager, Controller, Analyst Analyse-Anfragen (Minuten) Lesen, periodisches Hinzufügen komplex, jedoch viele Datensätze überwiegend (überwiegend bestimmten Bereichsanfragen) Mustern folgend wenige (Hunderte) wenige, bis einige hundert 29 Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen Operative Datenbanken vs. Data Warehouses Perspektive der Datenhaltung Datenquellen Operative Datenbank Data Warehouse Schemaentwurf Eigenschaften des Datenbestands Typische Antwortzeit Datenvolumen Verfügbarkeit zentraler anfrageneutrale Datenbestand Datenmodellierung (3NF) originär zeitaktuell autonom dynamisch Megabyte Gigabyte ms - s Hochverfügbar (Ausfall kostet Millionen!) mehrere unabhängige Datenquellen abgeleitet/ konsolidiert historisiert integriert stabil teilweise (vor-) aggregiert Gigabyte Terabyte s - min Ausfall ärgerlich, aber nicht kritisch analysebezogene Datenmodellierung 30 Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen Operative Datenbanken vs. Data Warehouses Technische Sicht Architektur Operative Datenbank • ANSI-SPARC 3-Schichtenarchitektur • Geeignet für Daten aus einer Datenquelle ! keine Heterogenität • Data Warehouse integriert Daten aus mehreren Datenquellen. Data Datenquellen üblicherweise heterogen (im Schema, z.B. Warehouse • Name vs. Nachname, in den Daten, z.B. 06.1. vs. 01/06, ...) • Architketur zur Integration verschiedener Datenquellen • Details siehe Kapitel 2 31 Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen Operative Datenbanken vs. Data Warehouses Technische Sicht Schema Operative Datenbank • Vermeidung von Redundanz / Anomalien • Schema in 3NF • Schema unabhängig von der Art der Anfragen entworfen • Modellierung von Dimensionen und Fakten, Data Warehouse basierend auf geplante analytische Anfragen • Redundanz möglich bzw. erwünscht • Multidimensionales Modell (Star-Schema, Snowflake-Schema) Jahr 2007 2006 Region 2005 2004 ... North America Asia Europe 2003 2002 Books CDs DVDs ... Produktgruppe • Details siehe Kapitel 3 32 Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen Operative Datenbanken vs. Data Warehouses Technische Sicht Anfragen Operative Datenbank UPDATE • Transaktionale Anfragen SET • Insert, Update, Delete, Select WHERE AND Anfragen über einzelne / wenige Tupel • • Anfrageoptimierung siehe VL Datenbanken II Data Warehouse • Analytische Anfragen • Bulk-Insert und Select • Typische Anfragetypen (drill down, slice, dice, ...) • Spezialisierte Optimierungsverfahren • Details siehe Kapitel 3 und 4 Order amount = amount + 1 OrderID = 1 BookID = 204 Jahr 2007 2006 Region 2005 2004 ... North America Asia Europe 2003 2002 Books CDs DVDs ... Produktgruppe 33 Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen Extract-Transform-Load (ETL) Prozess Datenübertragung in das Data Warehouse? ! Extrahiere relevante Daten aus den Quellen. ! Transformiere die extrahierten Daten in das Schema des Data Warehouse. ! Lade die transformierten Daten in das Data Warehouse. ! Siehe Kapitel 5 (Hauptfokus auf Datenqualität, die während der Transformationsphase gewährleistet wird). 34 Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen Data Warehouse Systeme und Tools ! Diverse Data Warehouse Lösungen auf dem Markt ! Siehe Kapitel 6 ! Gastvortrag Dr. Jens Bleihoder, OPITZ Consulting GmbH 35 Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen Entwicklungsprozess eines Data Warhouse ! Integration mehrerer, oft autonomer Datenquellen erfordert folgende Maßnahmen: ! Einbindung / Mitwirkung der Fachabteilungen ! Durchsetzen eines Qualitätsanspruchs ! Gemeinsames Sprachverständnis ! Nachvollziehbarkeit ! Vom Produkt- zum Prozess-Gedanken 36 Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen Kapitel 1 Einführung • Vorstellung • Organisatorisches • Data Warehouses • Ausblick auf das Semester 37 Credit: Michael Marcol http://www.freedigitalphotos.net/images/view_photog.php?photogid=371 Inhalte der Vorlesung Einführung • Definition Data Warehouse • Motivation für ein Data Warehouse • Unterschied zu einer operativen Datenbank Architektur von Data Warehouse Systemen • Bestandteile eines Data Warehouse Systems • Konfigurationen • Ermöglichung der Integration Datenmodellierung • Multidimensionale Modellierung (Dimensionen, Fakten, Datenwürfel) • Umsetzung des Datenmodells (relationale Abbildung, Star-Schema, SQL Operatoren, ...) 38 Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen Inhalte der Vorlesung Anfrageverarbeitung und Optimierung • Indexstrukturen • Optimierung von Star-Joins • Materialisierte Sichten • Partitionierung Datenreinigung • ETL und Datenreinigung • Typische Datenfehler • Beheben von Datenfehlern durch Data Scrubbing, Dublettenerkennung, Datenfusion ETL-Werkzeuge und Anwendungsfälle 39 Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen Fragen? • Zum Inhalt der Vorlesung? • Zur Leistungserfassung? • Zum Ablauf? • ... 40 Data Warehouses | SS 2011 | Melanie Herschel | Universität Tübingen