Oberseminarvortrag zum Thema: Data Warehousing von Daniel Schulte © 2000 by Daniel Schulte email: [email protected] Data Warehousing - Inhaltsverzeichnis Inhaltsverzeichnis 1. Einleitung zu Data Warehousing 2. Leistungsmerkmale eines Data Warehouse 3. Grundfunktionen der Datenübernahme 4. OLAP 4.1 Das multidimensionale Datenmodell 4.2 Grundfunktionen von OLAP 4.3 Datenbankdesign für OLAP 4.4 Implementationstechniken für OLAP 5. Oracle Express © 2000 by Daniel Schulte email: [email protected] Seite 2 Data Warehousing - Einleitung Seite 3 1. Einleitung zu Data Warehousing - Data Warehouse = Hard- & Softwarelösung zur Speicherung & Archivierung externer und interner Informationsquellen - Verwaltung sehr großer Datenmengen - Daten müssen so gespeichert werden, daß diese für Endbenutzer (wie Analytiker & Manager) verständlich sind - außerdem sollen die Daten für eine unternehmensweite Auswertung mit verschiedenen Tools verfügbar sein © 2000 by Daniel Schulte email: [email protected] Data Warehousing - Einleitung Seite 4 - zur Realisierung sind erforderlich: • leistungsfähiger Server • Datenbank • Programme zur Datenübernahme ins DW • Programme zur Aufbereitung & Analyse - in engen Zusammenhang zum Data Warehouse steht OLAP (online analytical processing) - beim OLAP stehen die Möglichkeiten des Zugriffs auf die Daten im Vordergrund - beim DW steht die Verwaltung umfangreicher Datenbestände im Vordergrund © 2000 by Daniel Schulte email: [email protected] Data Warehousing - Leistungsmerkmale Seite 5 2. Leistungsmerkmale eines Data Warehouses - unternehmensweit verteilte Informationen sollen zur multidimensionalen Auswertung zusammengeführt werden - DW bildet die Grundlage für „Data Mining“, welches helfen soll, Zusammenhänge zwischen Daten aufzuzeigen - häufig sollen sehr komplexe Anfragen gestellt werden eine schnelle Antwortzeit wird erwünscht - um dies zu verwirklichen, werden verteilte Datenbanken mit guter Skalierbarkeit und hoher Verfügbarkeit genutzt (siehe Abb. 1) © 2000 by Daniel Schulte email: [email protected] Data Warehousing - Leistungsmerkmale Seite 6 Externe Datenquellen Visualization Extract Clean Transform Load Refresh Metadata Repository DW OLAP Operationale DB Data Mining © 2000 by Daniel Schulte email: [email protected] Data Warehousing - Leistungsmerkmale Seite 7 - in periodischen Abständen werden alle Daten von einer zentralen Einheit zusammengetragen und in das DW integriert - die Daten auf den entsprechenden Server - Datenbanken bleiben dabei alle unverändert - da alten Daten nicht gelöscht werden, ergibt sich ein ständiger Datenzuwachs es bilden sich riesige Datenbestände (TByte-GByte) - schwierige Auswertung solcher Datenbestände, daher wird das DW in kleine Bestandteile aufgeteilt „Data Marts“ © 2000 by Daniel Schulte email: [email protected] Data Warehousing - Leistungsmerkmale Seite 8 - „Data Marts“ werden häufig auf eine bestimmte Gruppe von Endanwendern zugeschnitten © 2000 by Daniel Schulte email: [email protected] Data Warehousing - Datenübernahme Seite 9 3. Grundfunktionen der Datenübernahme - es existieren 5 Grundfunktionen, die bei der Datenübernahme in das DW eine Rolle spielen - EXTRACT: das Übernehmen der Daten aus den externen Quellen und aus operationalen Datenbanken über Gateways oder externe Standardinterfaces - Gateway: eine API, die es den Clients erlaubt, SQL Anfragen zu stellen z.B.: open database connectivity (ODBC) open linking and embedding for databases (OLE-DB) java database connectivity (JDBC) © 2000 by Daniel Schulte email: [email protected] Data Warehousing - Datenübernahme Seite 10 - CLEANING:es werden Fehler minimiert und fehlende Informationen ausgefüllt - TRANSFORM: semantische Ungleichheiten werden beseitigt, dies erfolgt durch die Definition einer relationalen Sicht über die Tabellen der Datenquelle - LOADING: materialisieren / einfügen der Sichten und speichern im Data Warehouse zusätzlich können weitere Funktionen ausgeführt werden, wie Sortieren, Zusatzinfos generieren, ... © 2000 by Daniel Schulte email: [email protected] Data Warehousing - Datenübernahme Seite 11 - häufiges Problem beim LOADING: in den verschiedene DB eines Unternehmens gibt es unterschiedliche Bezeichnungen für gleiche Attribute, Tabellen haben unterschiedliche Strukturen, es werden verschiedene Datentypen verwendet - diese Differenzen müssen beim Einbringen der Daten in das DW berücksichtigt werden - beim LOADING können Daten partitioniert werden, es können zusätzliche Indextabellen aufgebaut werden - durch die großen Datenmengen ist der LOAD Prozeß sehr langsam © 2000 by Daniel Schulte email: [email protected] Data Warehousing - Datenübernahme Seite 12 - eine parallele Abarbeitung des LOAD Prozesses spielt eine wichtige Rolle - REFRESH: nach dem Laden muß sichergestellt werden, daß die Daten regelmäßig aktualisiert werden und das DW von alten Daten gesäubert wird - schwieriger Aspekt beim Aktualisieren: alte Datentabellen müssen gespeichert bleiben (diese werden oft ausgelagert) - Informationen über die im DW gespeicherten Daten befinden sich im System Katalog, dieser befindet sich in einer separaten DB = „Metadata Repository“ © 2000 by Daniel Schulte email: [email protected] Data Warehousing - OLAP Seite 13 4. Online Analytical Processing (OLAP) - mit OLAP - Werkzeugen soll eine schnelle und gezielte Entscheidungsfindung durch Methoden der Datenanalyse erreicht werden - diese Funktionen sollen möglichst vielen Entscheidungsträgern zugänglich sein - bei den Abfragen handelt es sich hauptsächlich um „Group By“ und Aggregations Operationen - Grundlage für OLAP ist das „Multidimensionale Datenmodell“ © 2000 by Daniel Schulte email: [email protected] Data Warehousing - OLAP Seite 14 - Ziel beim OLAP ist es, Daten in möglichst kurzer Zeit verarbeiten zu können dazu wurden verschiedene Technologien entwickelt • ROLAP (Fat Clients & Thin Clients) • MOLAP • HOLAP • DOLAP © 2000 by Daniel Schulte email: [email protected] Data Warehousing - OLAP Seite 15 4.1 Das multidimensionale Datenmodell - Daten werden auf verschiedene Dimensionen abgebildet - Bsp.: Verkaufsdaten 3 Dimensionen: 12 11 pid 13 locid • Produkt • Ort 8 10 10 30 20 50 25 8 15 1 2 timeid © 2000 by Daniel Schulte 3 • Zeit - für die Dimensionen werden nur ID‘s verwendet, mit denen die Daten in den entsprechenden Tabellen identifiziert werden können email: [email protected] Data Warehousing - OLAP Seite 16 - es sind auch leicht mehr als 3 Dimensionen möglich - jede Dimension kann Attribute haben - Systeme, die ihre Daten in einem multidimensionalen Feld speichern werden auch als „multidimensional OLAP“ = MOLAP bezeichnet hierzu werden multidimensionale Datenbanksysteme (MDBMS) genutzt © 2000 by Daniel Schulte email: [email protected] Data Warehousing - OLAP Seite 17 - Nachteil: es wird viel Speicher benötigt, der Speicherbedarf nimmt exponentiell mit Anzahl der Dimensionen zu, es können nur kleine Datenmengen verarbeitet werden ( 20 GB), da sonst aufgrund der komplizierten Speicherstruktur zu viel Zeit benötigt wird ! - werden alle Informationen als Relationen in Tabellen gespeichert, spricht man von „relational OLAP“ = ROLAP - für die Datenhaltung werden relationale Datenbanksysteme (RDBMS) genutzt © 2000 by Daniel Schulte email: [email protected] Data Warehousing - OLAP Seite 18 - es werden dabei die Attribute einer Dimension in einer Hierarchie strukturiert, z.B.: Dimension Ort Staat Bundesland Stadt © 2000 by Daniel Schulte email: [email protected] Data Warehousing - OLAP Seite 19 - die Information einer Dimension kann auch als Sammlung von Beziehung dargestellt werden Orte(locid:integer, stadt:string, bundesland:string, staat:string) - um OLAP - typische multidimensionale Abfragen zu realisieren, transformiert eine „ROLAP - Engine“ alle Anfragen in effiziente SQL - Anfragen - Problem : es können erhebliche Performanceeinbußen durch JOIN - Anweisungen oder komplizierte Kalkulationen von Kennzahlen entstehen © 2000 by Daniel Schulte email: [email protected] Data Warehousing - OLAP Seite 20 - teilweise Abhilfe: Vorberechnung von Kennzahlen in separaten Tabellen ROLAP Thin Client Fat Client Die 2 Ansätze von ROLAP © 2000 by Daniel Schulte email: [email protected] Data Warehousing - OLAP Seite 21 - Fat Client: die Transformation von Daten erfolgt auf dem Client - Rechner, dieser hat zusätzlich folgende Aufgaben: • Aufgaben der ROLAP-Engine • Präsentation der Daten • Berechnung von Kennzahlen der Client benötigt eine hohe Prozessorleistung sowie viel Speicher, außerdem wird das Netzwerk stark belastet, da viele Daten übertragen werden müssen © 2000 by Daniel Schulte email: [email protected] Data Warehousing - OLAP Seite 22 - Thin Client: es werden Präsentation und ROLAP-Engine voneinander getrennt - Client hat „nur“ noch Präsentation als Aufgabe - die ROLAP - Engine läuft auf einen oder mehreren (wenn verteilt) Servern © 2000 by Daniel Schulte email: [email protected] Data Warehousing - OLAP Seite 23 - beim „hybrid OLAP“ = HOLAP wird versucht, die Vorteile von ROLAP und MOLAP zu verbinden - häufig benötigte Daten werden in einem Datenwürfel gespeichert, selten benötigte Daten werden nach wie vor in einer relationalen Datenbank gespeichert - Aufgabe des HOLAP ist es, eine transparente Abfrage zu gewährleisten © 2000 by Daniel Schulte email: [email protected] Data Warehousing - OLAP Seite 24 4.2 Grundfunktionen von OLAP - Ziel ist es, auch „Nicht - SQL - Experten“ ein möglichst intuitives und leistungsfähiges Interface für geschäftsorientierte Analysen bereit zu stellen - zu den Grundfunktionen zählen: • Drill Down , Roll - Up • Pivoting • Slicing • Dicing • Expand , Collapse • Isolate • Elimintae © 2000 by Daniel Schulte email: [email protected] Data Warehousing - OLAP Seite 25 - Drill Down: ermöglicht die Detaillierung der Dimensionen bis zu ihrem kleinsten Element Bsp.: Dimension Zeit: aktuelle Detailstufe ist Jahre nach Drill Down zeigt sie Quartale, ..., Tage,... - Roll Up: Umkehrfunktion zu Drill Down - Pivoting: ermöglicht das Zusammenfassen von Daten in neuen Tabellen, Bsp.: Pivoting der Orts- und Zeitdimension einer Verkaufstabelle ergibt neue Tabelle mit den Gesamtverkäufen für jeden Ort zu jedem Zeitpunkt © 2000 by Daniel Schulte email: [email protected] Data Warehousing - OLAP Seite 26 - Slicing: Einschränken des Wertebereichs einer Dimension, es können Dimensionen auch komplett ausgeblendet werden Bsp.: es sollen nur die Jahre 1995-1998 auf der Zeitachse betrachtet werden - Dicing: die Anordnung der betrachteten Dimensionen kann frei gewählt werden © 2000 by Daniel Schulte email: [email protected] Data Warehousing - OLAP Seite 27 - Expand : ähnlich zu Drill Down, es wird allerdings nur ein Eintrag einer Dimension geändert, Bsp.: Dimension Zeit zeigt momentan Jahre nach dem expandieren des Jahres 1996 werden die Quartale dieses angezeigt, die Skalierung der übrigen Zeitachse bleibt gleich - Collapse : Umkehrfunktion zu Expand © 2000 by Daniel Schulte email: [email protected] Data Warehousing - OLAP Seite 28 - Isolate : mit dieser Funktion können Teile einer Dimension isoliert werden, Bsp.: es soll nur das Jahr 1995 betrachtet werden - Eliminate : diese Funktion entfernt Teile einer Dimension, Bsp.: es wird das Jahr 1997 entfernt, da die Daten dieses Jahres die Analyse verfälschen würde © 2000 by Daniel Schulte email: [email protected] Data Warehousing - OLAP Seite 29 4.3 Datenbankdesign für OLAP - Anordnung von „fact tables“ um die „dimension table“ nennt man „star schema“ PRODUCTS pid name category price pid timeid LOCATIONS locid city timeid locid date week © 2000 by Daniel Schulte month sales quarter state SALES TIMES year email: [email protected] country Data Warehousing - OLAP Seite 30 - dieses Schema findet oft Verwendung im Datenbankdesign für OLAP - Systeme - in den „fact tables“ werden die Daten gespeichert, dies ist ohne Redundanz möglich - um Größe der „fact tables“ zu minimieren, werden die Dimension ID‘s vom System vergeben - Daten über die Dimensionen werden im „dimension table“ gespeichert - oft wird die Generierung von „summary tables“ unterstützt, diese werden zusammen mit den „fact tables“ zur Beantwortung von Abfragen genutzt © 2000 by Daniel Schulte email: [email protected] Data Warehousing - OLAP Seite 31 - durch die Nutzung von „summary tables“ kann die Antwortzeit verkleinert werden - in heutigen OLAP - Systemen spielt die Entscheidung über die in den „summary tables“ zusammenzufassenden Daten eine entscheidende Rolle sie ist einer der wichtigsten Designentscheidungen - Ausblick: es werden ständig neue Datenstrukturen und Indexierungsmethoden für OLAP entwickelt © 2000 by Daniel Schulte email: [email protected] Data Warehousing - OLAP Seite 32 4.4 Implementierungstechniken für OLAP - durch den Bedarf nach möglichst schnellen Antwortzeiten und durch sehr große Datenmengen werden geeignete Indexierungsmethoden benötigt - Bitmap Indexes: • Werte mit wenigen möglichen Werten (z.B.: Boolean) werden als Sparse bezeichnet • solche Werte werden zur Konstruktion neuer, sehr schneller Indexe genutzt © 2000 by Daniel Schulte email: [email protected] Data Warehousing - OLAP Seite 33 • die Idee ist, die Sparse - Werte als Bitsequenzen zu speichern • mit diesen Bit-Werten werden Bit-Vektoren gebildet, mehrere Bit-Vektoren bilden den „bitmap index“ • es gibt 2 entscheidende Vorteile gegenüber konventionellen Hash- und Tree Indexen • 1. Es können effiziente Bitoperationen zur Beantwortung von Anfragen genutzt werden • 2. Sie können wesentlich kompakter als B+ Baum Indexe sein und sie können sehr gut komprimiert werden © 2000 by Daniel Schulte email: [email protected] Data Warehousing - OLAP Seite 34 Customers(custid:integer, name:string, gender:boolean, rating:integer) custid 112 115 119 112 M 1 1 0 1 F 0 0 1 0 name Joe Ram Sue Woo gender M M F M 1 0 0 0 0 2 0 0 0 0 rating 3 5 5 4 3 1 0 0 0 4 0 0 0 1 Bitmap Indexes © 2000 by Daniel Schulte email: [email protected] 5 0 1 1 0 Data Warehousing - OLAP Seite 35 - Join Indexes: • für sehr große Relationen ist die Berechnung von Joins sehr aufwendig • eine Möglichkeit, diese Art von Anfragen zu beschleunigen, ist, einen speziellen „Join Index“ zu schaffen • Nachteil ist, daß die zahl der Indexe sehr schnell steigen kann, wenn mehrere Zeilen in „dimension tables“ selektiert und mit den „fact tables“ zusammengeführt werden sollen © 2000 by Daniel Schulte email: [email protected] Data Warehousing - OLAP Seite 36 • bei jeder Join Operation müssen die Indexe kombiniert werden • um dies effizient zu gestalten, können „bitmapped indexe“ genutzt werden es entstehen „bitmapped join indexe“ - File Organisation: • in OLAP Datenbanken werden die Daten meist lesend genutzt • die File Organisation sollte darauf abgestimmt sein • 1. Ansatz: die Relationen werden zeilenweise gespeichert, auch Spalten werden separat gespeichert © 2000 by Daniel Schulte email: [email protected] Data Warehousing - OLAP Seite 37 • 2. Ansatz: radikalere Methode - die „fact tables“ und die Indexe werden als ein großes multidimensionales Feld gespeichert dieser Ansatz wird oft in MOLAP verwendet • da der Speicher meist kleiner als die Felder sind, werden die Felder in Teilstücke zerlegt • zusätzlich sollen B+ Bäume beim schnellen Finden der Teilstücke helfen © 2000 by Daniel Schulte email: [email protected] Data Warehousing - OLAP Seite 38 - weitere Implementationsaspekte: • die Nutzung von Kompressionsalgorithmen breitet sich auch in DB‘s für OLAP immer mehr aus • durch die riesigen Datenmengen und Indexstrukturen (wie bitmap index) ist dies eine logische Konsequenz • eine wichtige Rolle spielt die Entscheidung über die vorzuberechnenden Views, um Anfragen beschleunigen zu können • diese Entscheidung muß immer noch vom Datenbankdesigner übernommen werden © 2000 by Daniel Schulte email: [email protected] Data Warehousing - OLAP Seite 39 • außerdem werden von den Datenbankentwicklern neue Optimierungsmöglichkeiten, sowie weitere Abfragesprache - Verbesserungen entwickelt © 2000 by Daniel Schulte email: [email protected] Data Warehousing - Oracle Express Seite 40 5. Oracle Express - Unterstützung von ROLAP, MOLAP, HOLAP - Web - Unterstützung für OLAP - Multi-threaded server - Unterstützung des „multi-cube data model“ - 4GL support - eingebaute Analysefunktionen z.B.: für Zukunftsprognosen, Modellierung, „what-if“ Szenarios, ... - Personal Express: auf Windows 9x und Windows NT 4.0 - Express Server: auf Windows NT 4.0 und UNIX © 2000 by Daniel Schulte email: [email protected] Data Warehousing - Quellenverzeichnis Seite 41 Quellenverzeichnis - „Einsatzmöglichkeiten von OLAP- Werkzeugen für die Entwicklung von internet-/ intranet- basierten Anwendungssystemen“ von E. Birkholz / Uni Leipzig - „Das Datawarehouse als Basis von Management Support Systemen“ von Dr. W. Behme / Oracle Deutschland © 2000 by Daniel Schulte email: [email protected]