Data Warehousing Einleitung und Motivation Ulf Leser Wissensmanagement in der Bioinformatik
Backup Durchsatz Loadbalancing Bücher im Internet bestellen Portfolio Umsatz Werbung Daten bank Ulf Leser: Data Warehousing, Vorlesung, SoSe 2003 2
Die Datenbank dazu id year Year Month Id Month year_id Day Id day month_id Order Order_id Book_id amount single_price Orders Id Day_id Customer_id Total_amt id name id name Bookgroup Book id Book_group_id Customer Ulf Leser: Data Warehousing, Vorlesung, SoSe 2003 3
Fragen eines Marketingleiters Wie viele Bestellungen haben wir jeweils im Monat vor Weihnachten, aufgeschlüsselt nach Produktgruppen? id year Year Month Id Month year_id Day Id day month_id Order Order_id book_id amount single_price Orders Id Day_id Customer_id Total_amt id name id name Bookgroup Book id Book_group_id Customer Ulf Leser: Data Warehousing, Vorlesung, SoSe 2003 4
Technisch SELECT Y.year, PG.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 6 Joins Year: 10 M D O O B B M.id = D.month and O.day_id = D.id and Records onth: 120 Records ay: 3650 Records rders: 36.000.000 rder: 72.000.000 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 ooks: 200.000 ookgroups: 100 id year Year Month Id Month year_id Problem! Schwierig zu optimieren (Join- Order) Ja nach Ausführungsplan riesige Zwischenergebnisse Bookgroup id Ähnliche Anfragen name ähnlich riesige Zwischenergebnisse Order Order_id Book_id amount single_price Book id Book_group_id Day Id day month_id Orders Id Day_id Customer_id Total_amt id name Customer Ulf Leser: Data Warehousing, Vorlesung, SoSe 2003 5
In Wahrheit... Es gibt noch: Amazon.de Amazon.fr Amazon.it... Verteilte Ausführung Count über Union mehrerer gleicher Anfragen in unterschiedlichen Datenbanken Ulf Leser: Data Warehousing, Vorlesung, SoSe 2003 6
In Wahrheit... Ulf Leser: Data Warehousing, Vorlesung, SoSe 2003 7
Technisch 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... SELECT year, name, count(b.id) FROM christmas GROUP BY year, name ORDER BY year Ulf Leser: Data Warehousing, Vorlesung, SoSe 2003 8
Problem! Count über Union über verteilte Datenbanken? Integrationsproblem Berechnung riesiger Zwischenergebnisse bei jeder Anfrage? Datenmengenproblem Ulf Leser: Data Warehousing, Vorlesung, SoSe 2003 9
Lösung Integrationsproblem? Zentrale Datenbank Probleme Zweigstellen schreiben übers Netz Schlechter Durchsatz Lange Antwortzeiten im operativen Betrieb Ulf Leser: Data Warehousing, Vorlesung, SoSe 2003 10
Lösung Datenmengenproblem? Denormalisierte Schema Probleme Jeder lesende / schreibende Zugriff erfolgt auf eine Tabelle mit 72 Mill. Records Lange Antwortzeiten im operativen Betrieb Ulf Leser: Data Warehousing, Vorlesung, SoSe 2003 11
Tatsächliche Lösung Aufbau eines Data Warehouse Redundante, transformierte Datenhaltung Asynchrone Aktualisierung Ulf Leser: Data Warehousing, Vorlesung, SoSe 2003 12
Inhalt dieser Vorlesung Definition und Abgrenzung Geschichte & Statistische Datenbanken Sichtweisen Betriebswirtschaft / Informatik Benutzer / Entwickler Anwendungen Grosse Datenmengen und TPC-H Ulf Leser: Data Warehousing, Vorlesung, SoSe 2003 13
Beispielszenario Ein beliebiges Handelshaus : Spar, Extra, Kaufhof,... Physikalische Datenverteilung Viele Niederlassungen (bis zu mehrere tausend) Noch mehr Registerkassen Aber: Zentrale Planung, Beschaffung, Verteilung Was wird wo und wie oft verkauft? Was muss wann wohin geliefert werden?... nur möglich, wenn Zentrale Übersicht über Umsätze Verderbliche Waren! Integration mit Lieferanten / Produktdaten Regionale Unterschiede beachten! Ulf Leser: Data Warehousing, Vorlesung, SoSe 2003 14
Handels - DWH Verkaufen wir im Wedding mehr Dosenbier als in Zehlendorf? FILIALE 1 FILIALE 3... FILIALE 2 DWH Artikeldaten Analyse Kundendaten Welches sind meine Topkunden? Lieferanten daten Ulf Leser: Data Warehousing, Vorlesung, SoSe 2003 15
DWH Datenquellen Lieferantendatenbanken Produktinformationen: Packungsgrößen, Farben, etc. Lieferbedingungen, Preissysteme Personaldatenbank Zuordnung Kassenbuchung auf Mitarbeiter Kundendatenbank Premiumkunden Persönliche Vorlieben Weitere Vertriebswege Internet Katalogbestellung Kundenkarten! Ulf Leser: Data Warehousing, Vorlesung, SoSe 2003 16
Definition DWH A DWH is a subject-oriented, integrated, nonvolatile, and time-variant collection of data in support of management s decision [Inm96] Subj-orient.: Verkäufe, Personen, Produkte, etc. Integrated: Erstellt aus vielen Quellen Non-Volatile: Hält Daten unverändert über die Zeit Time-Variant: Vergleich von Daten über die Zeit Decisions: Wichtige Daten rein, unwichtige raus Ulf Leser: Data Warehousing, Vorlesung, SoSe 2003 17
Def. Data Warehousing Erstellung, Pflege und Nutzung des DWH Erstellung Auswahl von Datenquellen Logische Integration Pflege Aktualisierung der Daten Optimierung des Zugriffs Monitoring der Performance Nutzung Bereitstellung spezieller Ableitungen Analyse der Daten Ulf Leser: Data Warehousing, Vorlesung, SoSe 2003 18
Abgrenzung Parallele Datenbanken Technik zur Realisierung eines DWH Verteilte Datenbanken I.d.R. keine redundante Datenhaltung Verteilung als Mittel zur Lastverteilung Keine inhaltliche Integration der Daten Föderierte Datenbanken Höhere Autonomie und Heterogenität Kein spezifischer Analysezweck Ulf Leser: Data Warehousing, Vorlesung, SoSe 2003 19
Statistische Datenbanken Sehr ähnliches Gebiet Vorrangige Verwendung: Censusdaten Komplexe Klassifikationssysteme Grosse Bedeutung geographischer Daten Intensive Analyse von Abhängigkeiten Validierung und Ableitung statistischer Aussagen Ausreißer, Verteilungen, Schätzungen Datensicherheit Anonymisierung bei hochdimensionalen Daten? Eine der Wurzeln der DWH Multidimensionale Modellierung, Klassifikationssysteme, Summarizability,... Ulf Leser: Data Warehousing, Vorlesung, SoSe 2003 20
Geschichte von DWH Managementinformationssysteme (MIS), Decision Support Systeme (DSS), Executive Information Systeme (EIS) Seit den 60er Jahren Feste, programmierte Reports Redundante Datenhaltung sehr teuer Datenbeschaffung sehr schwierig: fehlende Vernetzung, Schnittstellen, Anwendungsneutralität Analysemethoden ungenügend (Data Mining) Zu schwierig zu bedienen (für Manager) Teuer und unflexibel Schattendasein Ulf Leser: Data Warehousing, Vorlesung, SoSe 2003 21
Erfolg von DWH Top-Thema seit Beginn der 90er Jahre Voraussetzungen Extreme Verbilligung von Plattenspeicherplatz Relationale Modellierung: Anwendungsneutral Graphische Benutzeroberflächen und Terminals IT in allen Unternehmensbereichen (SAP R/3) Vernetzung und DB Standardisierung (SQL) Aber Vision der vollständigen Integration scheitert (immer wieder aufs neue) Soziale versus technische Aspekte Ulf Leser: Data Warehousing, Vorlesung, SoSe 2003 22
Sichtweisen auf DWH Projekte Betriebswirtschaftliche Sichtweise Informatiker Sichtweise Anwendersichtweise Entwicklersichtweise Ulf Leser: Data Warehousing, Vorlesung, SoSe 2003 23
Betriebswirtschaftssicht Ein DWH Ermöglicht viele neue Fragen Verbessert viele Antworten erheblich... durch... Zugriff auf integrierte Daten Übergreifende Analysen möglich Zugriff auf mehr (alle?) Daten Data Cleansing und Aufbereitung Anreicherung mit weiteren Daten Ohne DWH nur manuell möglich Integrierte Daten übergreifende Antworten Fehlerminimierung Bei operativen Daten zählt jedes Datum Würde operative Systeme überlasten Ulf Leser: Data Warehousing, Vorlesung, SoSe 2003 24
Controlling Hilfsmittel für Controlling und Planung Sortiment vergrößern oder verkleinern? Sonderaktionen breit oder tief? Reklamationsbearbeitung wichtig oder nicht? Absatzweg rentabel oder nicht? Personalisierung erfolgreich oder nervig? Lagerhaltung Wie viel lagern, wie viel just-in-time... Ulf Leser: Data Warehousing, Vorlesung, SoSe 2003 25
Informatiksicht Operative Systeme Viele Benutzer Kurze Transaktionen = OLTP Echtzeitanforderungen (Online Transaction Processing) Kurzes Gedächnis Beispiel: Kassensysteme, Bankautomaten DWH Wenige(r) Benutzer Viele GROUPs, SORTs, SUMs = OLAP (Online Analytical Processing) Zeitlich unkritisch, nur lesend Historische Daten Beispiel: Sortimentplanung, Kapazitätsplanung Ulf Leser: Data Warehousing, Vorlesung, SoSe 2003 26
OLTP Beispiel SELECT pw FROM kunde WHERE login=... Login UPDATE kunde SET last_acc=date, tries=0 WHERE... COMMIT SELECT k_id, name FROM kunde WHERE login=... Welcome SELECT last_pur FROM purchase WHERE k_id=...... COMMIT SELECT av_qty FROM stock WHERE p_id=... Place order UPDATE stock SET av_qty=av_qty-1 where... INSERT INTO shop_cart VALUES( o_id, k_id,...... COMMIT DELETE FROM shop_cart WHERE o_id=... Remove order UPDATE stock SET av_qty=av_qty+1 where...... COMMIT Ulf Leser: Data Warehousing, Vorlesung, SoSe 2003 27
OLAP Beispiel Welche Produkte hatten im letzten Jahr im Bereich Bamberg einen Umsatzrückgang um mehr als 10%? Welche Produktgruppen sind davon betroffen? Welche Lieferanten haben diese Produkte? Welche Kunden haben über die letzten 5 Jahre eine Bestellung über 50 Euro innerhalb von 4 Wochen nach einem persönlichen Anschreiben aufgegeben? Wie hoch waren die Bestellungen im Schnitt? Wie hoch waren die Bestellungen im Vergleich zu den durchschnittlich. Bestellungen des jew. Kunden in einem vergleichbaren Zeitraum? Lohnen sich Mailing-Aktionen? Haben Zweigstellen einen höheren Umsatz, die gemeinsam gekaufte Produkte zusammen stellen? Welche Produkte werden überhaupt zusammen gekauft und wo? Ulf Leser: Data Warehousing, Vorlesung, SoSe 2003 28
Modellierung im DWH Productgroup id name Year Article Sales Bon_id Article_id amount single_price id year id Productgroup_id Shop Month Id Month year_id id region_id Bon Modellierung in operativen Systemen: Normalisierung Id Day_id Shop_id Total_amt Day Region id name Id day month_id Jahr Kontinent 2002 2001 2000 Asien Modellierung in DWH: Dimensionen und Fakten Südamerika 1999 Automarke Ford VW Peugot BMW Ulf Leser: Data Warehousing, Vorlesung, SoSe 2003 29
Ausfall kostet Millionen. Hochverfügbarkeit: 24x7x52 Ausfall ärgerlich OLAP versus OLTP Typische Operationen Transaktionen Typische Anfragen Daten pro Operation Datenmenge in DB Eigenschaften der Daten Erwartete Antwortzeiten Modellierung Typische Benutzer OLTP Insert, Update, Delete, Select Viele und kurz Einfache Queries, Primärschlüsselzugriff, Schnelle Abfolgen von Selects/inserts/updates/deletes Wenige Tupel Gigabytebereich Rohdaten, häufige Änderungen Echtzeit bis wenige Sek. Anwendungsorientiert Sachbearbeiter OLAP Select Bulk-Updates Lesetransaktionen Komplexe Queries: Aggregate, Groupierung, Subselects, etc. Range Queries über mehrere Attribute Megabyteweise Terabytebereich Abgeleitete Daten, historisch & stabil Minuten Themenorientiert Management Ulf Leser: Data Warehousing, Vorlesung, SoSe 2003 30
OLAP Kriterien nach Codd [CCS93] 1. Multidimensional Conceptual View Modellierung in Dimensionen 2. Transparency Datenherkunft beim Zugriff transparent 3. Accessibility Durchgriff aus externe und interne Quellen 4. Consistent Reporting Performance Unabhängig v. Dimensionen, Datenvolumen, Benutzerzahl 5. Client-Server Architecture 6. Generic Dimensionality Semantikfrei 7. Dynamic Sparse Matrix Handling Switch von relationaler zu Array Speicherung Ulf Leser: Data Warehousing, Vorlesung, SoSe 2003 31
OLAP Kriterien nach Codd 2 8. Multi-User Support 9. Unrestricted Cross-dimensional Operations Keine Beschränkung in Kombination von Dimensionen 10. Intuitive Data Manipulation Ad-Hoc User Interface 11. Flexible Reporting Reporterstellungsfähigkeiten 12. Unlimited Dimensions and Aggregation Levels Keine Systembeschränkungen Ulf Leser: Data Warehousing, Vorlesung, SoSe 2003 32
Anwendersicht Anwender Manager aller Ebenen Betriebswirte Integrierte Sicht Höhere Datenqualität Graphische Front-Ends zur Analyse OLAP Sprache: Drill-Down, Dice, Cube, etc. Vorsicht: GUIs verführen zur Formulierung beliebig komplexer Queries Ulf Leser: Data Warehousing, Vorlesung, SoSe 2003 33
Entwicklersicht DWH = große, denormalisierte Datenbank? Spezifische Probleme: Datenaufbereitung und -integration Optimierung für komplexe Queries statt hohem Durchsatz Spezielle Techniken notwendig Denormalisiertes Datenmodell Redundante Datenhaltung Vorverarbeitung zur Queryunterstützung Materialisierte Sichten, Partitionen, Indexstrukturen, etc. Aktives Feld aller DB-Hersteller! Ulf Leser: Data Warehousing, Vorlesung, SoSe 2003 34
Anwendungsgebiete Wal-Mart Bioinformatik Weitere Ulf Leser: Data Warehousing, Vorlesung, SoSe 2003 35
Wal Mart Unternehmensweites Data Warehouse Verkaufzahlen, Lagerhaltung, Filialen Größe: ca. 300 Terabyte (4/03) Täglich bis zu 20.000 DW-Anfragen: Überprüfung des Warensortiments zur Erkennung von Ladenhütern oder Verkaufsschlagern Standortanalyse, Rentabilität von Niederlassungen Untersuchung der Wirksamkeit von Marketing- Aktionen Analyse / Planung der Zwischenlager Warenkorbanalyse mit Hilfe der Kassenbons Ulf Leser: Data Warehousing, Vorlesung, SoSe 2003 36
Anwendungen in der Bioinformatik Aufbau integrierter Datenbanken Viele Datenquellen Update und Transformation Speicherung experimenteller Daten Performanter Zugriff Dimensionale Modellierung Ulf Leser: Data Warehousing, Vorlesung, SoSe 2003 37
DWH in Bioinformatik Genes on Xp23 with homolog in mice? IXDB: X- chromosome GDB: maps... something magic... RHdb: maps OMIM: genes SWISSPROT: proteins PIR: proteins EMBL: sequences Genbank: sequences Transparency: location schema language Results: - Up-to-date information - Comprehensive results - Integrated Ulf Leser: Data Warehousing, Vorlesung, SoSe 2003 38
Queries 1- Find all maps of the X chromosome Sanger Centre (ACeDB, TACE-queries) GDB (Sybase, HTML forms) RhDB (Oracle, CORBA) etc. Many data sources with overlapping domain Ulf Leser: Data Warehousing, Vorlesung, SoSe 2003 39
Queries 2- Find genes close to marker Y on chromosome X that are members of the gene family Z and Start from maps from X (IXDB), search Y, extract neighbour genes, test for Z (OMIM), search for sequence (EMBL). Search genes on X (EMBL?), test Z (OMIM), search in X map (XACE), test for neighbourhood. Sequence data Mapping data Gene data S 1 S 3 S 5 S 2 S 4 S 6 Necessity to combine data from different sources Ulf Leser: Data Warehousing, Vorlesung, SoSe 2003 40
GDB OMIM DWH Ansatz Genes on Xp23 with siblings in mice? IXDB Warehouse... something magic... RHdb SWISS PROT PIR EMBL Ulf Leser: Data Warehousing, Vorlesung, SoSe 2003 41
Gen Expressionsdaten X.000 Gensequenzen auf einem Chip Zelle T zum Zeitpunkt Y Spot: Gen A18 war in Zelle T zu Zeitpunkt X mit Intensität K exprimiert Korrelation von Genaktivität Zelltyp, Umgebung zum Zp. T, gesundes / krankes Gewebe Ca. 1 TB Rohdaten pro Screening DeRisi, Iyer, Brown; Science, 1998 Ulf Leser: Data Warehousing, Vorlesung, SoSe 2003 42
Genexpression - Daten... zwischen Zelle aus Probe Kolorektalkarzinom bei 42...... Bibliothek aus Experiment Darmzellen...... und Koordinate Target A18 (CD44)... Hybridisierung Ein SPOT Durchführender X...... im Labor... mit linearer Erkennung Normalisierung...... mit Intensität Intensität 10... Ulf Leser: Data Warehousing, Vorlesung, SoSe 2003 43
Genexpression - Fragen Wie stark unterscheiden sich die Ergebnisse pro Kombination Probe-Bibliothek, unterschieden nach Auswertverfahren und Labor Welche Gene werden in Tumorgewebe gemeinsam mit Intensitäten über 5 exprimiert, gruppiert nach Auswertungsverfahren Welches Labor produziert dauernd Ausreißer? Ulf Leser: Data Warehousing, Vorlesung, SoSe 2003 44
Weitere Anwendungsgebiete Customer Relationship Management Vertriebswege, Vertriebsorganisationen Kundenkäufe, Präferenzen, Kontaktdaten, Reklamationen, Bonität Wer sind Premiumkunden -> Sonderbehandlung Beratungssysteme, Personalisierung, Mailings Amazon Customers who bought X also bought Y Personalisierte Empfehlungen Neuerscheinungen Ulf Leser: Data Warehousing, Vorlesung, SoSe 2003 45
Weitere Anwendungsgebiete 2- Controlling & Kostenrechnung Kostenstellen, Kostenträger, Kostenarten Organisationseinheiten, Tochterunternehmen Plan Ist Zahlen, Szenarios Gewinn-Verlustrechnung, Bilanzierung Kostenrechnung, Vollkostenrechnung Kennzahlensysteme, Balanced Scorecard Ulf Leser: Data Warehousing, Vorlesung, SoSe 2003 46
Weitere Anwendungsgebiete 3- Logistik Flottenmanagement Disposition Tracking Finanzen Kreditkartenanalyse Risikoanalysen Fraud Detection Health Care Studienüberwachung Wirkstoffanalyse Ulf Leser: Data Warehousing, Vorlesung, SoSe 2003 47
Was sind große Datenbanken? British Telecom 20 Terabyte >100 Milliarden Record Datenbank: Oracle 8i Deutsche Telecom 100 Terabyte IBM, DB2 Walmart Wal-Mart... will expand its data-warehouse system, which handles 50,000 queries a week, from 7.5 to 24 terabytes. [Info. Week, 1997] At 70 terabytes and growing... [Wes, 2000]... 300 Terabyte Datenbank [Computerzeitung, 16/2003] NCR Teradata Ulf Leser: Data Warehousing, Vorlesung, SoSe 2003 48
Was sind große Datenbanken 2- Beispiel: Google 10 TerabyteRohdaten 15.000 PC, redundante Datenhaltung 1 Petabyte [ct, 1/2003, Heise Verlag] Genbank (Humanes Genom) Release 104, Flatfile: Ca. 100 Gigabyte Aber eindrucksvolles Wachstum... Quelle: EMBL, Stand 17.2.2003 Ulf Leser: Data Warehousing, Vorlesung, SoSe 2003 49
TPC Benchmarks Vergleich der Leistungsfähigkeit von Datenbanken TPC-C OLTP Benchmark TPC-H Ad-Hoc Decision Support (variable Anteile) TPC-R Reporting Decision Support (fixe queries) TPC-W ecommerce Transaktionsprocessing TPC-D Abgelöst durch H und R Vorgegebene Schemata (Lieferwesen) Schema-, Query- und Datengeneratoren Unterschiedliche DB-Größen TPC-H: 100 GB - 300 GB - 1 TB - 3 TB Ulf Leser: Data Warehousing, Vorlesung, SoSe 2003 50
TPC-H Ergebnisse 100 GB Quelle: http://www.tpc.org, Januar 2003 Ulf Leser: Data Warehousing, Vorlesung, SoSe 2003 51
TPC-H Ergebnisse 3000 GB Quelle: http://www.tpc.org Ulf Leser: Data Warehousing, Vorlesung, SoSe 2003 52
Literatur [Inm96]: Inmon: Building the Data Warehouse, John Wiley & Sons, 1996. [BG01]: Bauer, Günzel: Data Warehouse Systeme: Architektur, Entwicklung, Anwendung, dpunkt.verlag, 2001 [CCS93]: E.F. Codd, S.B. Codd, and C.T. Smalley: Providing OLAP (Online Analytical Processing) to User- Analysts: An IT Mandate, Essbase White Paper, 1993 [WesS00] Paul Westerman: Data Warehousing: Using the Wal-Mart Model, Morgan Kaufman Pub, 2000 Ulf Leser: Data Warehousing, Vorlesung, SoSe 2003 53