Frühjahrsemester 2012 cs242 Data Warehousing / cs243 Datenbanken Kapitel 1: Einführung H. Schuldt Data Warehousing: Anwendungsbeispiel Tresgros Tresgros Tresgros Filiale Muttenz Filiale Allschwil Filiale Liestal Anfragen: Welches Produkt hat sich am 29.02.2012 in der Filiale Allschwil am besten verkauft? Was wird in der Filiale Muttenz zusammen mit Chips verkauft?... SQL FS 2012 Data Warehousing (CS242) / Datenbanken (CS243) Einführung 1-2 1
Anwendungsbeispiel Weitere Anfragen: Wie viele Flaschen Bier wurden insgesamt im letzten Monat (im letzen Jahr) verkauft? Wie hat sich der Verkauf von Vanilleglace im letzten Quartal entwickelt? Wer sind unsere Top-Kunden mit Kumulier-Karte? Von welchem Lieferanten beziehen wir die meisten Produkte? Probleme Zusätzlich zu den operativen Tresgros-Datenbanken müssen noch externe Quellen (Kundendatenbank, Lieferantendatenbank, ) genutzt werden Daten mit historischem Bezug sind nötig (evtl. nicht mehr im Produktivsystem) Immer schneller wachsende Datenmengen in einelnen Anwendungen bis zu mehrern PetaBytes (10 15 ) FS 2012 Data Warehousing (CS242) / Datenbanken (CS243) Einführung 1-3 Informationssysteme Informationssysteme in Unternehmen bauen in den seltensten Fällen auf einer zentralen Datenbank auf Vielmehr bestehen solche Informationssysteme aus einer Vielzahl von zumeist verteilten, heterogenen operationalen Datenbanksystemen (und zugehörigen Anwendungen) Lagerverwaltung Verkäufe Buchhaltung Human Resources Einkauf FS 2012 Data Warehousing (CS242) / Datenbanken (CS243) Einführung 1-4 2
Anwendungsbeispiel Weitere Anfragen Verkaufen wir in Gelterkinden mehr Dosenbier als in Lausen? Wie viel Vanilleglace wurde im Sommer im ganzen Kanton (in der ganzen Deutschschweiz) verkauft? Wie verhalten sich die Verkaufszahlen von Vollmilchschokolade zu Edelbitterschokolade, in welchem Monat war welche Sorte beliebter? Problem Es sind nun Anfragen über mehreren operativen Filial-Datenbanken nötig FS 2012 Data Warehousing (CS242) / Datenbanken (CS243) Einführung 1-5 Anwendungsbeispiel Wie lassen sich diese Probleme lösen? Variante 1: Verteilte Datenbank Jede Anfrage wird als globale Anfrage über mehreren Datenbanken behandelt. Also muss bei jeder Anfrage auf eine Reihe von Systemen zugegriffen werden, Ergebnisse müssen zusammengeführt werden, etc. Nachteil: verteilte Anfrageausführung ist sehr aufwändig! Variante 2: Zentrale Datenbank Anstelle von unabhängigen Filialdatenbanken betreibt Tresgros eine zentrale Datenbank. Alle Änderungen finden nicht lokal statt sondern gehen zu dieser zentralen Datenbank Nachteil: dies ist mit langen Antwortzeiten im operativen Betrieb verbunden Variante 3: Data Warehouse FS 2012 Data Warehousing (CS242) / Datenbanken (CS243) Einführung 1-6 3
Verteilte, Heterogene Umgebungen Verteilte Anwendungen und Informationssysteme (T Vorlesung im Master-Programm) Unterschiedliche Datenmodelle Lagerverwaltung Verkäufe Buchhaltung Human Resources Einkauf FS 2012 Data Warehousing (CS242) / Datenbanken (CS243) Einführung 1-7 Verteilte, Heterogene Umgebungen Datenintegration Datenqualität Lagerverwaltung Verkäufe Buchhaltung Human Resources Einkauf FS 2012 Data Warehousing (CS242) / Datenbanken (CS243) Einführung 1-8 4
Anwendungsbeispiel Tresgros Tresgros Tresgros Filiale Muttenz Filiale Allschwil Filiale Liestal Asynchrone Aktualisierung (Warehouse Update) Data Warehouse Redundante Datenhaltung, Transformierte, vorberechnete Daten FS 2012 Data Warehousing (CS242) / Datenbanken (CS243) Einführung 1-9 Anwendungsbeispiel Weitere Anfragen Überprüfung des Warensortiments: Was sind unsere Ladenhüter bzw. Verkaufsschlager? Müssen Waren von einer Filiale (weil dort Ladenhüter) zu einer anderen (weil dort Verkaufsschlager) transportiert werden Standortanalyse: ist eine Niederlassung in XYZ rentabel? Hatte die letzte Marketing-Aktion den erwünschten Erfolg? Wann/wo fallen besonders häufig Reklamationen an? In welcher Filiale muss der Lagerbestand aufgefüllt werden? Welche Klassen von Kunden haben wir (basierend auf Warenkorbanalyse mit Hilfe der Kassenbons bzw. mit Hilfe der Kumulier-Karte)? Welche Umsätze wurden in den Jahren 2010 und 2011 in den Abteilungen Non-Food (Haushaltswaren) und Do-It-Yourself (Heimwerker) in den Kantonen Obwalden und Nidwalden generiert? FS 2012 Data Warehousing (CS242) / Datenbanken (CS243) Einführung 1-10 5
Analytische Auswertungen auf Daten In vielen Anwendungen wird zwischen operationaler Verwendung (Online Transaction Processing, ) dem eigentlichen Tagesgeschäft und analytischen Auswertungen (Online Analytical Processing, OLAP) unterschieden. Zur Unterstützung von OLAP-Anfragen wird ein Data Warehouse verwendet, das mit Daten der unterschiedlichen operativen Systeme versorgt wird Data Warehouse OLAP FS 2012 Data Warehousing (CS242) / Datenbanken (CS243) Einführung 1-11 Data Warehousing Zugriff auf und Kombination von Daten aus mehreren unterschiedlichen Quellen Komplexe Datenanalyse über mehreren Quellen Multidimensionale Sichten auf die Daten, die die jeweilige Perspektive reflektieren, Analyse der zeitlichen Entwicklung, auch wenn Datenquellen sich auf aktuellen Datenbank-Zustand beschränken Data Warehouse OLAP FS 2012 Data Warehousing (CS242) / Datenbanken (CS243) Einführung 1-12 6
Daten-Analyse 1. Benutzer extrahiert Daten mit Anfrage aus der Datenbank 2. die Daten werden analysiert Spread Sheet Table 3. und visualisiert (z.b. mit Desktop Tools) 10 15 Size vs Speed Price vs Speed 10 4 Nearline Cache 1 10 12 Tape Offline Tape Main 10 2 Disc Secondary Size(B) 10 9 Online Online $/MB Secondary Tape Disc Tape 10 0 10 6 Main Nearline Tape Offline Tape 10-2 10 3 Cache 10-4 10-9 10-6 10-3 10 0 10 3 10-9 10-6 10-3 10 0 10 3 Access Time (seconds) Access Time (seconds) FS 2012 Data Warehousing (CS242) / Datenbanken (CS243) Einführung 1-13 Aufbau von Data Warehouse-Systemen DW Monitoring & Administration Quellsysteme Metadaten- Repository OLAP-Server Externe Quellen Operative Datenbanken Extraktion Transformation Laden Data Warehouse Analyse Query/Reporting Data Mining Werkzeuge Data Marts FS 2012 Data Warehousing (CS242) / Datenbanken (CS243) Einführung 1-14 7
Aufbau von Data Warehouse-Systemen Quellsysteme Alle Systeme oder Dateien, die direkt oder indirekt als Datenlieferanten auftreten Daten werden in einem Extraktionsvorgang aus den Quellsystemen extrahiert und in das Data Warehouse eingefügt (Transformation) Extraktion, Transformation, Laden Monitore überwachen die Quellsysteme auf Veränderungen. Änderungen werden entweder direkt in das Data Warehouse eingespielt oder (häufiger) temporär gesammelt und offline in das Data Warehouse eingefügt ( Warehouse Update ) Extraktoren: Selektion und Transport der Daten aus Quellen in das Data Warehouse Transformatoren: Vereinheitlichung und Bereinigung der Daten (unter Zuhilfenahme von Metadaten) FS 2012 Data Warehousing (CS242) / Datenbanken (CS243) Einführung 1-15 Aufbau von Data Warehouse-Systemen Data Warehouse A Data Warehouse is a subject-oriented, integrated, non-volatile, and time variant collection of data in support of managements decisions [ISG 08] Ein Data Warehouse ermöglicht eine globale Sicht auf heterogene und verteilte Datenbestände, indem die für die globale Sicht relevanten Daten aus den Datenquellen zu einem gemeinsamen konsistenten Datenbestand zusammengeführt werden Das Data Warehouse ist die Basis für die Aggregation von Daten innerhalb mehrdimensionaler Strukturen (OLAP-Cube), dem so genannten Online Analytical Processing (OLAP) OLAP Explorative, interaktive Datenanalyse, meist aufbauend auf multidimensionalem Datenmodell FS 2012 Data Warehousing (CS242) / Datenbanken (CS243) Einführung 1-16 8
Aufbau von Data Warehouse-Systemen Data Mart Meist anwendungsspezifische Auszüge, die durch Kopieren von Daten aus dem Data Warehouse entstehen Analysekomponenten Analyse und Präsentation der Daten mit Hilfe geeigneter (Desktop-) Werkzeuge Im Data Warehouse erfolgt eine klare Trennung zwischen operativen und analytischen Systemen Antwortzeitverhalten: Analyse auf operativen Quelldatensystemen würde zur Verschlechterung der Performance führen Langfristige Speicherung der Daten im DW ermöglicht Zeitreihenanalyse Verfügbarkeit: Zugriff auf Daten unabhängig von operativen Datenquellen Einheitliches Datenformat im DW trotz möglicherweise heterogener operativen Systemen Datenqualität: Data Cleansing während des Ladeprozesses FS 2012 Data Warehousing (CS242) / Datenbanken (CS243) Einführung 1-17 Data Warehouse: Eigenschaften Subject-oriented: Fachorientierung Zweck des Systems ist nicht Erfüllung einer speziellen Aufgabe (z.b. Materialverwaltung), sondern Modellierung eines spezifischen Anwendungsziels Integrated: Integrierte Datenbasis Verarbeitung von Daten aus mehreren verschiedenen Datenquellen (intern und extern) Non-volatile: Nicht-flüchtige Datenbasis stabile, persistente Datenbasis Daten im DW werden nicht mehr entfernt oder geändert Time-variant: Historische Daten Vergleich der Daten über Zeit möglich (Zeitreihenanalyse) Speicherung über längeren Zeitraum FS 2012 Data Warehousing (CS242) / Datenbanken (CS243) Einführung 1-18 9
vs. OLAP (Online Transaction Processing) Transaktionsorientierte Datenzugriffe, typischerweise Erfassen von Daten und Lesezugriffe auf diesen Kurze Lese-/ Schreibzugriffe auf wenige Datensätze Tagesgeschäft bedienen Beispiel aus dem Bankbereich: Wie hoch ist mein Kontostand? Beispiele für -Systeme: Buchungssysteme, Lagerverwaltung, Aktien-/ Wertpapierhandel OLAP (On-line Analytical Processing) Konsolidierung, Viewing und Analyse der Daten in mehreren Dimensionen, Berichtsgenerierung (RPG, Decision Support) Lange Lesetransaktionen auf vielen Datensätzen strategische Entscheidungen unterstützen Beispiel: Was ist der Zusammenhang zwischen Kontostand und Häufigkeit von Buchungen? They (the users) don t even know what they want! How can we provide it? FS 2012 Data Warehousing (CS242) / Datenbanken (CS243) Einführung 1-19 Operationale Datenbanken vs. Data Warehouses Operationale Datenbanken Data Warehouses Entstehung jeweils für Anwendungsklasse oder aus bestimmter Perspektive heraus Anforderungen bekannt vage mehrere Perspektiven gleichzeitig Bedeutung alltägliche Geschäftsabläufe Entscheidungen des Managements, die sich auf Profitabilität auswirken Datenzugriff Tuning Datenvolumen Ein Aufruf greift auf kurz zuvor erzeugte Daten zu ( liegt nur wenige Zeilen zurück ). Optimiert für häufige Zugriffe auf kleinen Datenmengen Datenbestand wird für operationales Geschäft gebraucht Grosse Datenmengen werden zugegriffen um das Ergebnis zu ermitteln. Optimiert für eher seltene Zugriffe auf grosse Datenmengen Grosser Datenbestand wird für statistische Analysen, Vorhersagen, ad hoc-reports, etc. benötigt FS 2012 Data Warehousing (CS242) / Datenbanken (CS243) Einführung 1-20 10
OLAP vs. Anfrage transaktional analytisch Fokus Transaktionsdauer und typ Lesen, Schreiben, Modifizieren, Löschen kurze Lese-/ Schreibtransaktionen Lesen, periodisches Hinzufügen lange Lesetransaktionen Anfragestruktur einfach strukturiert komplex Datenvolumen einer Anfrage wenige Datensätze viele Datensätze Datenmodell anfrageflexibel analysebezogen FS 2012 Data Warehousing (CS242) / Datenbanken (CS243) Einführung 1-21 Abgrenzung zu : Daten Daten transaktional analytisch Datenquellen meist eine Eigentlich mehrere. Durch Data Warehouse zentraler Einstiegspunkt Eigenschaften Datenvolumen nicht abgeleitet, zeitaktuell, autonom, dynamisch In der Regel im GByte- Bereich abgeleitet/konsolidiert, nicht zeitaktuell, integriert, stabil In der Regel im TByte- Bereich Zugriffe Einzeltupelzugriff Tabellenzugriff FS 2012 Data Warehousing (CS242) / Datenbanken (CS243) Einführung 1-22 11
Abgrenzung zu : Anwender Anwender transaktional analytisch Anwendertyp Ein-/Ausgabe durch Angestellte oder Applikationssoftware Manager, Controller Analyst Anwenderzahl sehr viele wenige (bis einige hundert) Antwortzeit Im Bereich von ms bis zu wenigen sec Im Bereich von sec bis hin zu mehreren min FS 2012 Data Warehousing (CS242) / Datenbanken (CS243) Einführung 1-23 Literatur [ISG 08] W. Inmon, D. Strauss, G. Neushloss: DW 2.0 The Architecture for the Next Generation of Data Warehousing. Morgan Kaufmann, 2008. [Leh 03] W. Lehner: Datenbanktechnologie für Data-Warehouse-Systeme Konzepte und Methoden. dpunkt.verlag, 2003. FS 2012 Data Warehousing (CS242) / Datenbanken (CS243) Einführung 1-24 12