Vorlesung im Wintersemester 2008/09 Data-Warehouse-Systeme Dr. Stefanie Rinderle-Ma Institut für Datenbanken und Informationssysteme Universität Ulm stefanie.rinderle@uni-ulm.de Übersicht 1) Einführung und Definitionen 2) Architektur eines Data-Warehouse-Systems 3) Das multidimensionale Datenmodell 4) ETL: Extraktion, Transformation, Laden 5) Anfrageverarbeitung und -optimierung 6) Indexstrukturen für das multidimensionale Datenmodell 7) Materialisierte Sichten 8) Metadaten 9) OLAP, Data Mining, Process Mining 10) Zusammenfassung und Ausblick 2 1
Literatur W. Lehner: Datenbanktechnologie für Data-Warehouse-Systeme, dpunkt.verlag, 2003 Inmon: Building the Data Warehouse, John Wiley & Sons, 1996 A. Bauer, H. Günzel (Hrg.): Data Warehouse Architektur, Entwicklung, Anwendung; dpunkt.verlag, 2000 Speziellere Artikel siehe einzelne Kapitel Teilweise: G. Specht: Vorlesung Data-Warehouse-Systeme. Universität Ulm. 2004 3 Einführung: Überblick 1.1 Motivation Beispiel-Szenario fiktive Kaufhauskette Star*Kauf Basisidee 1.2 Data-Warehouse-Lösung 1.3 Datenbereitstellung 1.4 Datenmodellierung 1.5 Analyse 1.6 Weitere Aspekte 1.7 Begriffe und Abgrenzung zu anderen Technologien 1.8 Zusammenfassung 4 2
1.1 Abstraktes Szenario Star*Kauf Star*Kauf zentrales Rechnungswesen Marketing liefert Lieferant kauft Menge Datenbankschema Kunde 1.1 Datenbank-Nutzung Welche Anfragen könnten z.b. für Marketing und Vertrieb interessant sein? Wie viele e von Typ A wurden letzten Monat verkauft? Wie hat sich der Verkauf von B im letzten Jahr entwickelt? Wer sind unsere Top-Kunden? Von welchem Lieferanten beziehen wir die meisten e von Typ C? Können diese Anfragen einfach beantwortet werden? Teile der Information nicht in der Star*Kauf-Datenbank enthalten Nutzung externer Quellen (Kundendatenbank, Lieferantendatenbank, ) nötig liche Information spielt eine zentrale Rolle (z.b. Entwicklung des Verkaufs) 6 3
1.1 Erweitertes Szenario (über mehrere Filialen hinweg) Star*Kauf Filiale Süd-Deutschland Star*Kauf Filiale Nord-Deutschland Star*Kauf Filiale Österreich Anfragen Verkaufen wir in Süd-Deutschland mehr e vom Typ A als in Nord- Deutschland? Wie viele e von Typ B wurden im Sommer in ganz Österreich verkauft? Problem Anfragen über mehrere Datenbanken 7 1.1 Zielsetzung und Problemstellung (1) ZIEL: Erstellung einer operativen Gesamtsicht auf das Unternehmen zur Entscheidungsunterstützung im Management DATENBEREITSTELLUNG KONSISTENTE GESAMTSICHT ANALYSE 8 4
1.1 Zielsetzung und Problemstellung (2) Anforderungen an die Datenbereitstellung: Integration unterschiedlicher Ausgangsdaten und Ausgangsdatenbanksysteme (Einkauf, Verkauf (Scannerkassen), Personalverwaltung, Lohnabrechnung etc.) Unterschiedliche Datenbanksysteme evtl. auch Dateisysteme Wären Alternativen denkbar? Inkompatible Datenformate oder Maßeinheiten 9 1.1 Zielsetzung und Problemstellung (3) Anforderungen an die konsistente Gesamtsicht auf das Unternehmen Modellierungsproblem Datenextraktionen und Transformationen (evtl. plus Bereinigung) Architekturfestlegung Schemaintegration 10 5
1.1 Zielsetzung und Problemstellung (4) Anforderungen bei der Unterstützung unterschiedlichster, aggregierter Abfragen Eindimensionale Relationen reichen zur Ablage nicht mehr i. A. mehrdimensionale Daten- und Indexstrukturen Datenwürfel, Starschema, Snowflake-Schema Indexunterstützung: mehrdimensionale Indexstrukturen 11 1.1 Data-Warehouse-Lösung ZIEL: Erstellung einer operativen Gesamtsicht auf das Unternehmen zur Entscheidungsunterstützung im Management DATENBEREITSTELLUNG Asynchrone Aktualisierung KONSISTENTE GESAMTSICHT Bereinigte Daten Vorberechnungen Gewünschte Redundanzen in den Daten ANALYSE OLAP Data Mining 12 6
1.2 Data-Warehouse Referenzarchitektur ( Kapitel 2) Analyse Data-Warehouse-System Data Warehouse Laden Data Warehouse- Manager Metadaten- Manager Repository Basisdatenbank Laden Arbeitsbereich Transformation Extraktion Datenbeschaffungsbereich Monitor Kontrollfluss Datenquelle Datenfluss 1.2 Beschreibung der Architektur Das Monitoring unterstützt die Extraktion, durch Auswahl der relevanten Daten aus Datenquellen. Die für den Prozess notwendigen Daten werden in den Arbeitsbereich extrahiert. Dort werden sie transformiert, d.h. bereinigt, integriert usw. Idealerweise findet im Anschluss das Laden in eine Basisdatenbank statt, die anwendungsunabhängig modelliert ist und der eine Datenund Schemaintegration verschiedener Datenquellen zu Grunde liegt Letztlich werden die Daten in ein anwendungsspezifisch modelliertes Data-Warehouse geladen und stehen zur Analyse bereit. 14 7
1.3 Datenbereitstellung (1) ( Kapitel 4) Grundproblem: heterogene Datenquellen Teilprobleme: Wie werden die Daten aus den Datenquellen extrahiert (vergleiche z.b. Extraktion aus einem Datenbanksystem versus Extraktion aus einem Dateisystem)? Wie lassen sich Änderungen in den Datenquellen beobachten? Wann sollen diese Änderungen ins DWH eingespielt werden? Wie kann man die Daten effizient in das DWH laden (üblicherweise haben wir es mit sehr großen Datenmengen zu tun)? Wie kann man heterogene Daten so transformieren, dass man eine homogene Sicht auf die Daten erhält (z.b. Daten aus relationaler Datenbanken und Spreadsheets)? 15 1.3 Datenbereitstellung (2) ( Kapitel 4) Grundproblem: heterogene Datenquellen Teilprobleme: Wie werden die Daten aus den Datenquellen extrahiert (vergleiche z.b. Extraktion aus einem Datenbanksystem versus Extraktion aus einem Dateisystem)? Wie lassen sich Änderungen in den Datenquellen beobachten? Wann sollen diese Änderungen ins DWH eingespielt werden? Wie kann man die Daten effizient in das DWH laden (üblicherweise haben wir es mit sehr großen Datenmengen zu tun)? Wie kann man heterogene Daten so transformieren, dass man eine homogene Sicht auf die Daten erhält (z.b. Daten aus relationaler Datenbanken und Spreadsheets)? EXTRAKTION TRANSFORMATION LADEN (ETL-Prozess) in der Praxis meistens die größte Herausforderung an das DWH! 16 8
1.4 Datenmodellierung (1) ( Kapitel 3) Datenbankschema Star*Kauf 17 1.4 Datenmodellierung (2) Als Verkauf (, Filiale, Tag)? Oder: Verkauf (Filiale,, Tag)? oder: Verkauf (Tag,, Filiale)? Relationale Darstellung? Problem: Linear zusammengesetzter Schlüssel unterstützt nur eine Abfragerichtung Lösungsidee(?): Sekundärschlüssel (Vorsicht: kombinatorische viele!) 18 9
1.4 Datenmodellierung (3) Klassifikationshierarchie (Instanz) Top Klassifikationsschema Top Elektronik Spielzeug gruppe branche Computer Autos familie portabel stationär Holz Plastik Sony XY Toshiba Z Stunt Star Fire Rider Artikel 19 1.4 Datenmodellierung (4) Abfragen in versch. Klassifikationsrichtungen u. Aggregrationsebenen FAKT Kenngröße Klassifikationsstufe Klassifkationsbeziehung Artikel Gruppe Familie Branche Verkauf Filiale Stadt Bezirk Region Anzahl Umsatz Tag Monat Quartal Jahr Woche 20 10
1.4 Datenmodellierung (5) Welche Umsätze sind in den Jahren 2001, 2002 und 2003 in den Abteilungen Unterhaltungselektronik, Kosmetik und Bekleidung in den Bundesländern Bayern und Hessen angefallen? SUMME Bekleidung Kosmetik Unterhaltungseletronik 2001 Multidimensionales Datenmodell 2002 2003 SUMME raum Bayern Hessen SUMME Region Kennzahl Umsatz 1.4 Datenmodellierung (6) Bericht mit aggregierten Kennzahlen Umsatz Unterhaltungseletronik Kosmetik Bekleidung SUMME 2001 2002 2003 SUMME Bayern Hessen SUMME Bayern Hessen SUMME Bayern Hessen SUMME 100 50 150 110 40 150 100 10 110 410 20 30 50 30 40 70 100 10 110 230 120 40 160 100 40 140 30 40 70 370 240 120 360 240 120 360 230 60 290 1010 22 11
1.5 Analyse (1) ( Kapitel 9) Verschiedene multidimensionale Operationen 23 1.5 Analyse (2) Slicing: Drill Down/ Roll-up: Drill-Down 1. Quartal 2. Quartal 3. Quartal 4. Quartal Roll-up Dicing: Jan. Feb. März April Mai Juli Aug. Juni Sept. Okt. Nov. Dez. 12
1.5 Analyse (3) Aggregation: Veränderung der Granularität Eine Aggregatsfunktion bildet eine Menge von Werten auf einen einzelnen ab Beispiel für Aggregation Aggregation aller Umsätze von Artikeln nach gruppen weitere Aggregationsoperatoren Standard SQL-Funktionen: SUM, AVG, COUNT, MIN, MAX Ordnungsbasierte Aggregationen Kumulation Rankings Aber: Hierarchien sind nicht immer inkludierend Bsp. Für zwei parallele Hierarchien 25 1.5 Analyse (4) Beispiele: Lagerbestand am Jahresende ist der Lagerbestand vom letzten Monat, nicht die Summe der Lagerbestände der Monate dieses Jahres Steuersätze sind nicht summierbar, etc. Summierbarkeit: inhaltliche korrekte Anwendung einer Aggregatsfuntion auf einen Würfel bei Disjunktheit Vollständigkeit Typverträglichkeit (notwendige Bedingungen) Disjunktheit und Vollständigkeit sind Grundeigenschaften einer Klassifikation Vollständigkeit: z.b. alle gruppen müssen zusammen wieder alle e beinhalten Disjunktheit: z.b. kein darf mehreren gruppen angehören, sonst Mehrfachzählung Typverträglichkeit von Operation und Kenngröße je nach Aggregationstyp der Kenngröße sind diese summierbar, nicht summierbar oder nur temporal summierbar 26 13
1.6 Weitere Aspekte (1) Insbesondere interessiert uns die Weiterentwicklung von Datenbanktechniken zum Einsatz im DWH-Bereich Anfragebearbeitung und optimierung ( Kapitel 5) Problem: Anfragen auf multidimensionale Daten erzeugen oft Monsterqueries mit vielen teuren Join-Operationen Deshalb ist Queryoptimierung extrem wichtig für den praktischen Einsatz von DWH Klassische Queryoptimierungsstrategien sind häufig nicht gut geeignet Entwicklung neuer Techniken im DWH-Bereich (z.b. Star-Join) 27 1.6 Weitere Aspekte (2) Indexstrukturen ( Kapitel 6) Wie bei der Anfrageoptimierung neue Herausforderungen durch multidimensionales Datenmodell eindimensionale Indexstrukturen (B-Baum, B*-Baum) Bitmap-Index, Join-Index klassische multidimensionale Indexstrukturen (z.b. k-d-baum) Spezielle multidimensionale Indexstrukturen für DWH (z.b. R-Baum) Materialisierte Sichten ( Kapitel 7) Im DWH typischerweise sehr große Datenmengen Deshalb ist Teilung in kleinere Datenportionen oft sinnvoll Wie wird geteilt (Partitionierung versus Sichten)? Wie können Sichten aktualisiert werden? Anfragen auf Sichten 28 14
1.7 Abgrenzung zu OLTP (1) Klassische operative Informationssysteme Online Transactional Processing (OLTP) Erfassung und Verwaltung von Daten Verarbeitung unter Verantwortung der jeweiligen Abteilung Transaktionale Verarbeitung: kurze Lese-/Schreibzugriffe auf wenige Datensätze Data-Warehouse Analyse im Mittelpunkt lange Lesetransaktionen auf vielen Datensätzen Integration, Konsolidierung und Aggregation der Daten 29 1.7 Abgrenzung zu OLTP (2) Anfragen Fokus Transaktionsdauer und typ Anfragestruktur Datenvolumen Datenmodell Daten Datenquellen Eigenschaften Datenvolumen Zugriffe Anwender Anwendertyp Anwenderzahl Antwortzeit Transaktional Lesen, Schreiben, Modifizieren, Löschen Kurze Lese-/Schreibdauern Einfach Wenig Datensätze anfrageflexibel Meist eine Nicht abgeleitet, zeitaktuell, autonom, dynamisch Megabyte - Gigabyte Einzeltupelzugriff Eingabe durch Sachbearbeiter Sehr viele ms - s Analytisch Lesen, periodisches Hinzufügen Lange Lesetransaktionen Komplex Viele Datensätze analysebezogen Mehrere Abgeleitet, konsolidiert, historisiert, integriert, stabil Gigabyte Terabyte Bereichsanfragen Auswertungen durch Manager, Analysten Wenige s- ms 15
1.7 Abgrenzung zu DBMS-Techniken Parallele Datenbanken Technik zur Realisierung eines DWH Verteilte Datenbanken In der Regel keine redundante Datenhaltung Verteilung als Mittel zur Lastverteilung Keine inhaltliche Integration/Verdichtung der Daten Föderierte Datenbanken Höhere Autonomie und Heterogenität Kein spezifischer Analysezweck 31 1.7 Data-Warehouse: Definition und Charakteristika A Data Warehouse is a subjectoriented, integrated, non-volatile, and time variant collection of data in support of managements decisions. (W.H. Inmon 1996) Fachorientierung (subject-oriented): Zweck des Systems ist nicht Erfüllung einer Aufgabe (z.b. Personaldatenverwaltung), sondern Modellierung eines spezifischen Anwendungsziels Integrierte Datenbasis (integrated): Verarbeitung von Daten aus mehreren verschiedenen Datenquellen (intern und extern) Nicht-flüchtige Datenbasis (non-volatile): stabile, persistente Datenbasis Daten im DW werden nicht mehr entfernt oder geändert Historische Daten (time-variant): Vergleich der Daten über möglich (reihenanalyse) Speicherung über längeren raum 32 16
1.7 Definition eines Data-Warehouse(-Systems) (1) Definition Data-Warehouse nach dem GI-Arbeitskreis: Ein Data-Warehouse wird als eine Datenbank gesehen, die aus technischer Sicht Daten aus verschiedenen (heterogenen) Datenquellen integriert und aus betriebswirtschaftlicher Sicht dem Anwender diese Daten zu Analysezwecken zur Verfügung stellt. Häufig, aber nicht notwendigerweise, findet eine Historisierung der Daten statt. Ein Data-Warehouse-System ist ein Informationssystem bestehend aus: Datenbeschaffungsbereich (Extraktions-,Transformations-, Ladekomponenten) Analysekomponenten Metadatenmanager Data-Warehouse-Manager Datenbanken (Basisdatenbank, Data Warehouse und Repository) 33 1.7 Definition eines Data-Warehouse(-Systems) (2) Analyse DW Laden Laden Laden Laden Extraktion Extraktion Extraktion Extraktion Filiale1 Filiale2 Zentr. Einkauf Zentr. Lager 34 17
1.7 Weitere Begriffe (1) Ein Data-Warehouse-System ist kein einzelnes, sondern besteht aus einer Vielzahl von Komponenten Das Data-Warehousing ist der Prozess, der den dynamischen Vorgang von der Datenbeschaffung bis zur Speicherung und Analyse der Daten innerhalb des Systems beschreibt Ein Data-Warehouse ist die DB innerhalb des Data-Warehouse Systems auf der die Analysen und Auswertungen für die Anwender gefahren werden (Analysebasis). Data Mart externe (Teil-)Sicht auf das Data Warehouse durch Kopieren anwendungsbereichsspezifisch OLAP (Online Analytical Processing) explorative, interaktive Analyse auf Basis des konzeptuellen Datenmodells 35 1.7 Weitere Begriffe (2) Analyse Analyse Analyse Data Marts DW Laden Laden Laden Laden Extraktion Extraktion Extraktion Extraktion Filiale1 Filiale2 Zentr. Einkauf Zentr. Lager 18
1.7 Historische Entwicklung Systeme zur Entscheidungsunterstützung 60-er Jahre: explizite Programmierung jeder statistischen Auswertung. Inflexibel und teuer. 70-er/80-er: Management Information Systems (MIS) ermöglichten einfachere Handhabung durch graphische User Interfaces. Analyse auf operativen Datenbestand beschränkt 90-er Jahre: Idee der multidimensionalen Datenanalyse Schlagwort des "Online-Analytical-Processing" (OLAP) von E.F. Codd Einrichtung des OLAP-Councils 1998: Spezifikation einer Schnittstelle für multidimensionalen Datenzugriff. Die OLAP-Funktionalität wird von Data-Warehouse-Systemen auf Analyseebene bereitgestellt. Redundant gehaltene Daten im Data-Warehouse werden analysiert, nicht die OLTP-Systeme 37 1.8 Zusammenfassung DWH ist DIE Technologie zur Integration und Analyse von Daten Einsatz von Data-Warehouse-Systemen im betriebswirtschaftlichen Bereich (gute Quelle hier www.olapreport.com): Marketing- und Verkaufsanalyse Clickstream Analyse Finanzberichtserstattung, Rechnungswesen Hier aus aktuellem Anlass Begriff der Compliance extrem wichtig (Crash verschiedener Firmen wie Enron und nachfolgende Skandale) Qualitätsanalyse Aber auch Einsatz im technischen Bereich (z.b. Fehlerverfolgung in der ion) Sowie im wissenschaftlichen Bereich (z.b. Wetterdaten) 38 19