Frühjahrsemester 2013 cs243 Datenbanken Kapitel 1: Einführung H. Schuldt Anwendungsbeispiel … • Tresgros Tresgros Filiale Muttenz Filiale Allschwil … Anfragen: – Welches Produkt hat sich am 26.02.2013 in der Filiale Allschwil am besten verkauft? – Was wird in der Filiale Muttenz zusammen mit Chips verkauft? – ... FS 2013 Datenbanken (CS243) – Einführung Tresgros Filiale Liestal SQL 1-2 1 …Anwendungsbeispiel … • Tresgros Tresgros Filiale Muttenz Filiale Allschwil … Tresgros Filiale Liestal Anforderungen aus Sicht eines einzelnen Datenbanksystems: – Anfrageoptimierung: wie lassen sich Anfragen so schnell wie möglich beantworten? – Mehrbenutzerkontrolle: wie können mehrere Benutzer / Anwendungen gleichzeitig auf denselben Daten arbeiten, ohne dass Inkonsistenzen entstehen? FS 2013 Datenbanken (CS243) – Einführung 1-3 … Anwendungsbeispiel … Aus der Sicht des Gesamtsystems: • 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 (1015) FS 2013 Datenbanken (CS243) – Einführung 1-4 2 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 2013 Datenbanken (CS243) – Einführung 1-5 … Anwendungsbeispiel … • Weitere Anfragen – Verkaufen wir in Kleinbasel mehr Dosenbier als in Grossbasel? – Wie viel Vanilleglace wurde im Sommer im ganzen Kanton (in der ganzen Deutschschweiz) verkauft? – Wie verhalten sich die Verkaufszahlen von Rindfleisch zu Pferdefleisch, in welchem Monat war welche Fleischsorte beliebter? • Problem – Es sind nun Anfragen über mehreren operativen Filial-Datenbanken nötig FS 2013 Datenbanken (CS243) – Einführung 1-6 3 … 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 2013 Datenbanken (CS243) – Einführung 1-7 Verteilte, Heterogene Umgebungen … • Verteilte Anwendungen und Informationssysteme (T Vorlesung im Master-Programm) • Unterschiedliche Datenmodelle Lagerverwaltung Verkäufe Buchhaltung Human Resources Einkauf FS 2013 Datenbanken (CS243) – Einführung 1-8 4 … Verteilte, Heterogene Umgebungen • Datenintegration • Datenqualität Lagerverwaltung Verkäufe Buchhaltung Human Resources Einkauf FS 2013 Datenbanken (CS243) – Einführung 1-9 … Anwendungsbeispiel … Tresgros Tresgros Filiale Muttenz Filiale Allschwil Asynchrone Aktualisierung (Warehouse Update) Data Warehouse FS 2013 Datenbanken (CS243) – Einführung … … Tresgros Filiale Liestal Redundante Datenhaltung, Transformierte, vorberechnete Daten 1-10 5 … 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 2011 und 2012 in den Abteilungen Non-Food (Haushaltswaren) und Do-It-Yourself (Heimwerker) in den Kantonen Obwalden und Nidwalden generiert? FS 2013 Datenbanken (CS243) – Einführung 1-11 Analytische Auswertungen auf Daten • • In vielen Anwendungen wird zwischen operationaler Verwendung (Online Transaction Processing, OLTP) – 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 OLTP FS 2013 OLTP OLTP OLTP OLTP Datenbanken (CS243) – Einführung OLTP 1-12 6 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 2013 OLTP OLTP OLTP OLTP OLTP OLTP Datenbanken (CS243) – Einführung 1-13 Daten-Analyse 1. Benutzer extrahiert Daten mit Anfrage aus der Datenbank … 2. … die Daten werden analysiert … Spread Sheet Table Price vs Speed 104 Cache Nearline Tape Offline Tape Main 102 Secondary Disc Size(B) Online $/MB Online 109 Secondary Disc Tape 100 Tape 1015 Size vs Speed 1 1012 Main 3. … und visualisiert (z.B. mit Desktop Tools) 106 Nearline Tape Offline Tape 10-2 Cache 103 10-4 -9 -6 -3 0 3 -9 -6 -3 0 3 10 10 10 10 10 10 10 10 10 10 Access Time (seconds) Access Time (seconds) FS 2013 Datenbanken (CS243) – Einführung 1-14 7 Aufbau von Data Warehouse-Systemen … DW Monitoring & Administration Quellsysteme MetadatenRepository OLAP-Server Data Warehouse Analyse Externe Quellen Query/Reporting Extraktion Transformation Laden Data Mining Operative Datenbanken Werkzeuge Data Marts FS 2013 Datenbanken (CS243) – Einführung 1-15 … 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 2013 Datenbanken (CS243) – Einführung 1-16 8 … 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 2013 Datenbanken (CS243) – Einführung 1-17 … 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 2013 Datenbanken (CS243) – Einführung 1-18 9 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 2013 Datenbanken (CS243) – Einführung 1-19 OLTP vs. OLAP OLTP (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 OLTP-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 2013 Datenbanken (CS243) – Einführung 1-20 10 Operationale Datenbanken vs. Data Warehouses Operationale Datenbanken Data Warehouses Entstehung jeweils für Anwendungsklasse oder aus bestimmter Perspektive heraus mehrere Perspektiven gleichzeitig Anforderungen bekannt vage Bedeutung alltägliche Geschäftsabläufe Entscheidungen des Managements, die sich auf Profitabilität auswirken Datenzugriff Ein Aufruf greift auf kurz zuvor erzeugte Daten zu (‚liegt nur wenige Zeilen zurück‘). Grosse Datenmengen werden zugegriffen um das Ergebnis zu ermitteln. Tuning Optimiert für häufige Zugriffe auf kleinen Datenmengen Optimiert für eher seltene Zugriffe auf grosse Datenmengen Datenvolumen Datenbestand wird für operationales Geschäft gebraucht Grosser Datenbestand wird für statistische Analysen, Vorhersagen, ad hoc-Reports, etc. benötigt FS 2013 Datenbanken (CS243) – Einführung 1-21 OLAP vs. OLTP Anfrage transaktional analytisch Fokus Lesen, Schreiben, Modifizieren, Löschen Lesen, periodisches Hinzufügen Transaktionsdauer und – kurze Lese-/ typ Schreibtransaktionen lange Lesetransaktionen Anfragestruktur einfach strukturiert komplex Datenvolumen einer Anfrage wenige Datensätze viele Datensätze Datenmodell anfrageflexibel analysebezogen FS 2013 Datenbanken (CS243) – Einführung 1-22 11 Abgrenzung zu OLTP: Daten Daten transaktional analytisch Datenquellen meist eine Eigentlich mehrere. Durch Data Warehouse zentraler Einstiegspunkt Eigenschaften nicht abgeleitet, zeitaktuell, autonom, dynamisch abgeleitet/konsolidiert, nicht zeitaktuell, integriert, stabil Datenvolumen In der Regel im GByteBereich In der Regel im TByteBereich Zugriffe Einzeltupelzugriff Tabellenzugriff FS 2013 Datenbanken (CS243) – Einführung 1-23 Abgrenzung zu OLTP: 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 2013 Datenbanken (CS243) – Einführung 1-24 12 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 2013 Datenbanken (CS243) – Einführung 1-25 13