Kapitel 1: Einführung Anwendungsbeispiel …

Werbung
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
Herunterladen