Data Warehousing Grundbegriffe und Problemstellung



Ähnliche Dokumente
Nach Data Warehousing kommt Business Intelligence

Model Klausel - Der Excel-Killer von Oracle?

Data Cube. Aggregation in SQL. Beispiel: Autoverkäufe. On-line Analytical Processing (OLAP) 1. Einführung. 2. Aggregation in SQL, GROUP BY

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Informatik 12 Datenbanken SQL-Einführung

Data Warehouse schnell gemacht Performanceaspekte im Oracle DWH

Das SQL-Schlüsselwort ALL entspricht dem Allquantor der Prädikatenlogik

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5

Data Warehousing. Sommersemester Ulf Leser Wissensmanagement in der Bioinformatik

Adlerblick So gewinnen Sie einen Überblick über ein DWH Dr. Andrea Kennel InfoPunkt Kennel GmbH CH-8600 Dübendorf Schlüsselworte Einleitung

C09: Einsatz SAP BW im Vergleich zur Best-of-Breed-Produktauswahl

Grundlagen der Informatik

Business Intelligence Praktikum 1

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Urs Meier Art der Info Technical Info (Februar 2002) Aus unserer Projekterfahrung und Forschung

Updatehinweise für die Version forma 5.5.5

ARCO SQL T5 - Business Intelligence

Business Intelligence Praktikum 1

Marketing Intelligence Vorstellung der Softwarekomponenten. Josef Kolbitsch Manuela Reinisch

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

Anleitung über den Umgang mit Schildern

Professionelle Seminare im Bereich MS-Office

1. Übungsblatt. Besprechung: (Gruppe A), 3.11 (Gruppe B)

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo.

AZK 1- Freistil. Der Dialog "Arbeitszeitkonten" Grundsätzliches zum Dialog "Arbeitszeitkonten"

Persönliches Adressbuch

SJ OFFICE - Update 3.0

OPERATIONEN AUF EINER DATENBANK

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage

Bilder zum Upload verkleinern

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

Kampagnenmanagement mit Siebel Marketing/Oracle BI ein Praxisbericht

Fachhochschule Deggendorf Platzziffer:...

Wie viele Dimensionen hat ein WŸrfel? Der Einsatz von Datamarts als Analysehilfen in einem Data Warehouse

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Aufgabe 1: [Logische Modellierung]

SQL für Trolle. mag.e. Dienstag, Qt-Seminar

DOKUMENTATION VOGELZUCHT 2015 PLUS

ACHTUNG: Es können gpx-dateien und mit dem GP7 aufgezeichnete trc-dateien umgewandelt werden.

GEVITAS Farben-Reaktionstest

How to do? Projekte - Zeiterfassung

Data Warehouse Definition (1)

Lizenz-Server überwachen

7. Übung - Datenbanken

1 Mathematische Grundlagen

Die bisher bereits bekannten Aggregatsfunktionen MIN, MAX, SUM, AVG, COUNT, VARIANCE und STDDEV wurden um FIRST und LAST erweitert.

Whitepaper. Produkt: combit Relationship Manager. Einbindung externer FiBu-/Warenwirtschaftsdaten. combit GmbH Untere Laube Konstanz

Artikel Schnittstelle über CSV

Kurzbeschreibung. ABC-Baubetriebshof. Version 3.0

TREND SEARCH VISUALISIERUNG. von Ricardo Gantschew btk Berlin Dozent / Till Nagel

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

Datenbanksysteme 2 Frühjahr-/Sommersemester Mai 2014

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Leichte-Sprache-Bilder

Hilfe zur Urlaubsplanung und Zeiterfassung

1. Einführung. 2. Archivierung alter Datensätze

! " # $ " % & Nicki Wruck worldwidewruck

BIW - Überblick. Präsentation und Discoverer Demonstration - Teil 1 - Humboldt Universität zu Berlin am 10. Juni 2004

2. Einrichtung der ODBC-Schnittstelle aus orgamax (für 32-bit-Anwendungen)

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

TTS - TinyTimeSystem. Unterrichtsprojekt BIBI

Dokumentation: Balanced Scorecard

In 12 Schritten zum mobilen PC mit Paragon Drive Copy 11 und Microsoft Windows Virtual PC

Wie richten Sie Ihr Web Paket bei Netpage24 ein

1 topologisches Sortieren

Bedienungsanleitung. Stand: Copyright 2011 by GEVITAS GmbH

Anleitung Lernobjekt-Depot (LOD)

ACDSee Pro 2. ACDSee Pro 2 Tutorials: Übertragung von Fotos (+ Datenbank) auf einen anderen Computer. Über Metadaten und die Datenbank

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

Zahlensysteme Seite -1- Zahlensysteme

Individuelle Formulare

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

Kurzanleitung MAN E-Learning (WBT)

Performance by Design Wie werden performante ETL-Prozesse erstellt?

Ontrack EasyRecovery 11 Neue Funktionen. S.M.A.R.T.-Analysefunktion Wiederherstellung von VMware VMDK-Images Datenlöschfunktion

Handbuch Offline-Abgleich

Data Quality Management: Abgleich großer, redundanter Datenmengen

Berechnungen in Access Teil I

TechNote. Produkt: TWINFAX 7.0 (ab CD_24), TWINFAX 6.0 Modul: SMTP, T611, R3 Kurzbeschreibung: Briefpapier- und Mailbodyunterstützung

SOLISYON GMBH TOBIAS GRUBER BEN WEISSMAN. Analyse von Dimensions-Schlüsselfehlern bei der Aufbereitung von SSAS Datenbanken

Herstellen von Symbolen mit Corel Draw ab Version 9

Beispiele für Datenbank-Struktur-Probleme

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:

Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten

Prozessarchitektur einer Oracle-Instanz

Eva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit

Zeichen bei Zahlen entschlüsseln

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

eevolution Business Intelligence Oliver Rzeniecki COMPRA GmbH Programmierer & Datenbankadministrator

4. BEZIEHUNGEN ZWISCHEN TABELLEN

BSV Ludwigsburg Erstellung einer neuen Internetseite

Softwaretechnologie -Wintersemester 2011/ Dr. Günter Kniesel

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

AUTOMATISCHE -ARCHIVIERUNG. 10/07/28 BMD Systemhaus GmbH, Steyr Vervielfältigung bedarf der ausdrücklichen Genehmigung durch BMD!

Transkript:

Data Warehousing Grundbegriffe und Problemstellung Dr. Andrea Kennel, Trivadis AG, Glattbrugg, Schweiz Andrea.Kennel@trivadis.com Schlüsselworte Data Warehouse, Cube, Data Mart, Bitmap Index, Star Queries, Parallel Queries, Partitioned Tables, Materialized Views Zusammenfassung Wer sich mit Data Warehousing beschäftigt, hat zuerst mit verschiedenen Fachbegriffen und Abkürzungen zu tun. Die wichtigsten Begriffe und Abkürzungen werden am Anfang kurz erläutert und Zusammenhänge aufgezeigt. Da die Anforderungen an ein Data Warehouse anders sind als an konventionelle Datenbanken, ergeben sich auch andere Problemstellungen und Lösungsansätze. Oracle bietet für verschiedene Probleme entsprechende Lösungen. Diese werden nachfolgend erklärt. Einige Begriffe Data Warehouse Data Warehouse kann als Datenlager übersetzt werden. Es dient dazu, Daten über die Zeit zu archivieren und für verschiedene Auswertungen zur Verfügung zu stellen. Ein Data Warehouse ist klar abfrageorientiert. Dabei werden in der Regel nicht einzelne Datensätze gelesen, sondern Summen über viele Datensätze gebildet. Das Datenmodell ist auf das Lesen von vielen Datensätzen optimiert. Es ist denormalisiert, enthält also bewusst Redundanz. OLAP OLAP ist die Abkürzung von Online Analytical Processing. Im Gegensatz zu OLTP werden bei OLAP Daten nicht mutiert, sondern zum Analysieren gelesen. OLAP ist ein Hilfsmittel zur Analyse und stellt die Daten in verschiedenen Verdichtungsstufen dar. Es können zwei Arten von OLAP unterschieden werden: relational (ROLAP) und multidimensional (MOLAP). HOLAP steht für Hybrid OLAP und ist die Kombination von ROLAP und MOLAP. OLTP OLTP steht für Online Transaction Processing. Dabei werden Daten laufend geschrieben, mutiert und gelesen. Diese Systeme sind im Gegensatz zu OLAP Systemen transaktionsorientiert. Das zugrundeliegende Datenmodell ist relational und auf Schreiben und Lesen einzelner Datensätze optimiert.

Data Mart Ein Data Mart ist ein Ausschnitt aus den Daten eines Date Warehouses. Die Daten werden als Würfel dargestellt, der die Basisdaten sowie die Verdichtungen darstellt. Im Bereich Data Mart und Würfel kennt man den Begriff Slice and Dice. Slice bedeutet, dass der Würfel beliebig betrachtet werden kann, indem die Dimensionen ausgetauscht werden oder nur eine Scheibe betrachtet wird. Dice bedeutet, dass zwischen verschiedenen Verdichtungsstufen gewählt werden kann mit den Möglichkeiten die Stufen über Drill Down und Drill Up zu wechseln. Würfel (Cube) Ein Data Mart wird in der Form eines Würfels (Fig. ) dargestellt. Dabei entsprechen die Kanten den Dimensionen. Die Werte sind im Würfel selber und werden über die Dimensionen gelesen. Produkt Training.. Basel Geografie Zeit Figur : Würfel mit drei Dimensionen DSS DSS steht für Decision Support System und bezeichnet Abfrageunterstützungen im Allgemeinen. Data Mining Data Mining ist die Suche nach auffälligen Mustern. Dabei können Vorgaben und Einschränkungen definiert werden, nach denen gesucht werden soll.

Zusammenfassung Die verschiedenen Begriffe im Data Warehousing stehen in Abhängigkeit und können wie in Figur 2 dargestellt werden. Fragen Information Direkte Abfrage (adhoc queries) DSS Data Mart Würfel Data Mining OLAP ROLAP MOLAP Data Warehouse Facts Dimensionen Daten OLTP Relationen Files Figur 2: Einige Begriffe und ihr Zusammenspiel Daten in einem Data Warehouse werden in Form von Facts (Werten) und Dimensionen gespeichert. Die Daten für das Data Warehouse kommen aus OLTP Systemen oder werden über Files geladen. Für die Auswertung werden Data Marts in Form von Würfeln dargestellt, oder es werden andere Decision Support Systeme zur Verfügung gestellt. Diese abfrageorientierten Systeme für die Analyse werden auch OLAP-Systeme genannt. Weiter ist es möglich, Abfagen frei auf dem Data Warehouse auszuführen. Dazu braucht es spezifische Kenntnisse in einer Abfragesprache wie SQL. Data Mining Syteme greifen normalerweise direkt auf das Data Warehouse zu. Zwei weitere wichtige Begriffe sind Information und Daten. Im Data Warehouse sind die Daten gespeichert. Aufgrund einer Fragestellung, die mit Hilfe einer Abfrage beantwortet wird, entsteht Information. Information ist somit die Antwort auf eine Frage.

Beispiel DWH Datenmodell Unser vereinfachtes Datenmodell enthält eine Tabelle mit den Facts (Werten) für Verkäufe und drei Tabellen für die Dimensionen Produkt, Zeit und Geographie. PRODUCT (OLAP) PROD_CODE PROD_NAME COMPANY SALES_WHAT_FK SALES_WHEN_FK TIME (OLAP) SDATE WEEK MONTH MONTH_NAME QUARTER YEAR SEASON SALES (OLAP) GEOGRAPHY (OLAP) SALES_CODE SDATE PROD_CODE AMOUNT CITY_CODE SALES_WHERE_FK CITY_CODE CITY_NAME REGION_CODE REGION_NAME Figur 3: Datenmodell eines einfachen Data Warehouses Beispielabfragen Im obigen Modell können verschiedene Auswertungen über Verkäufe gemacht werden. So kann festgestellt werden, wie viel Stück eines Produkts wo wann verkauft wurden. In den meisten Abfragen werden viele Datensätze gelesen und gruppiert zusammen gezählt. Als Basistabelle dazu dient immer die Fact-Tabelle SALES. Die Dimensionen können für Einschränkungen und Gruppierungen dazu genommen werden. Im folgenden werden ein paar Abfragen in SQL Syntax dargestellt.

Abfrage nach Produkt Welches Produkt wurde wie oft verkauft, über alle Regionen und die ganze erfasste Zeit: SELECT prod_name, SUM(amount) FROM sales s, product p WHERE s.prod_code = p.prod_code GROUP BY prod_name; PROD_NAME SUM(AMOUNT) -------------------- ----------- Consulting 545 E-Commerce 576 Financial Services 335 FlexSourcing 353 Systems-Management 55 Training 2648 Verkauf Software 38 Abfrage nach Region Wie viele Verkäufe fanden je Region statt? SELECT region_name, SUM(amount) FROM sales s, geography g WHERE s.city_code = g.city_code GROUP BY region_name; REGION_NAME SUM(AMOUNT) -------------------- ----------- Baden-Würtemberg 2 Bern/Mittelland 4232 Nordwestschweiz 236 Suisse-Romande 232 Zürich/Aargau 6396 Abfrage nach Region für einen Monat Wie viele Verkäufe fanden je Region im Monat Januar statt? SELECT region_name, month, 'all_products' product, SUM(amount) FROM sales s, geography g, time t WHERE s.city_code = g.city_code AND s.sdate = t.sdate AND t.month = '_2' GROUP BY region_name, month, 'all_products'; REGION_NAME MONTH PRODUCT SUM(AMOUNT) -------------------- ------- ------------ ----------- Baden-Würtemberg _2 all_products 236 Bern/Mittelland _2 all_products 392 Nordwestschweiz _2 all_products 94 Suisse-Romande _2 all_products 972 Zürich/Aargau _2 all_products 62

Problemstellungen Modellierung Anzahl Datenbanken Normalerweise besteht ein Date Warehouse System nicht aus einer einzigen Datenbank. Oft werden die Daten aus Quell Datenbanken gelesen und zuerst in eine sogenannte Staging Area geschrieben. Diese Staging Area wird benutz um Daten zu bereinigen. Von der Staging Area gelangen die Daten dann in den Data Pool, quasi in den grossen Topf. Hier sind die Daten historisiert. Je nach Auswertung werden die Daten in einem oder mehreren Data Marts zur Verfügung gestellt. Die Data Marts sind oft eine weitere Kopie der Daten oder Teilen davon. Datenmodell Prinzipiell sind drei Arten von Datenmodellen bekann die im Data Warehousing eingesetzt werden: Relationen Star Schema Snowflake Schema Das Relationenmodell ist normalisiert. Die Daten werden möglichst redundanzfrei auf mehrere Tabellen verteilt, die zueinander in Beziehung stehen. Dieses Modell wird vor allem für OLTP und für die Staging Area eingesetzt. Je nach Ziel und Aufbau der unterschiedlichen Datenbanken kann dieses Modell auch für den Data Pool gewählt werden. Im Star Schema wird je Dimension eine Tabelle erstellt. Die Werte werden in den Fact-Tabellen gespeichert (Fig. 4). Die grafische Darstellung dieser Modellierung sieht aus wie ein Stern, daher stammt der Name Star Schema. Das Snowflake Schema ist mit dem Star Schema verwandt. Der Unterschied liegt darin, dass die Dimensionen normalisiert sind. Beide Modelle werden für Data Marts und je nach Anforderung auch für den Data Pool verwendet. D D D2 Facts D4 D2 Facts D4 D3 D3 Figur 4: Star Schema und Snowflake Schem

Daten laden Das Laden der Daten kann in drei Vorgänge unterteilt werden: E: Extract, Extrahieren T: Transform, Umwandeln L: Load, Laden Von diesen drei Vorgängen stammt auch der Begriff ETL. Beim Extrahieren werden die Daten in ein File geschrieben oder direkt über einen DB-Link gelesen. Das Extrahieren der Daten kann periodisch, auf Anfrage oder nach einer bestimmten Anzahl Änderungen geschehen. Beim Umwandeln werden die Daten soweit bereinigt, dass sie geladen werden können. Dazu gehört das Abgleichen von Datentypen, das Umkodieren und Umrechnen in einheitliche Metriken. Beim Laden werden Schlüssel abgeglichen und die Historisierung nachgeführt. Das Problem des Datenladens liegt ganz klar bei der Performance. Werden Daten täglich geladen, darf der Ladeprozess sicher nicht mehr als 24 Stunden dauern. Abfrage beschleunigen Ein zentrales Problem im Data Warehousing ist klar die Antwortzeit bei Abfragen, da viele Daten gelesen und zusammengezählt werden müssen. Um die Antwortzeiten zu reduzieren, kann mit Tuning oder mit Voraggregation gearbeitet werden. Im Bereich Tunung kann mit Partitionen, Indexen oder Star Queries gearbeitet werden. All diese Möglichkeiten werden von Oracle unterstützt. Auch Voraggregation ist mit Oracle möglich. Dabei können spezielle Tabellen generiert werden, oder es kann seit Oracle 8..6 mit Materialized Views gearbeitet werden. Die Möglichkeit von Voraggregation wird auch in diversen Tools eingesetzt.

Möglichkeiten von Oracle Bitmap Index In einem Bitmap Index wird je möglicher Attributwert ein Bit reserviert. Im Index wird dann je nach Attributwert das entsprechende Bit gesetzt. So kann sehr schnell eine Einschränkung über mehrere Attribute ausgewertet werden. Tabelle Bitmap Index auf Zivilstand Rowid Name Zivilstand Mitglied... Rowid A B C D... A Meier V J V B Müller L J L C Huber L N G D Keller G N Bitmap Index auf Mitglied Abfrage WHERE zivilstand = 'L' AND mitglied = 'J' Rowid A B C D... L AND J = Rowid J N A B C D... Figur 5: Beispiel zu Bitmap Index Bitmap Indexe werden eingesetzt für Attribute mit kleiner Kardinalität, wenn das System abfrageorientiert ist. Für OLTP Systeme sind Bitmap Indexe nicht geeignet, da sie grosse Locks verursachen. Abfragen können mit Bitmap Indexen klar beschleunigt werden, weiter sind Bitmap Indexe schnell aufgebaut und brauchen relativ wenig Speicherplatz. Star Queries Star Queries können dann eingesetzt werden, wenn mindestens 3 Tabellen (zwei kleine und eine sehr grosse) verknüpft werden und das kartesische Produkt von den zwei kleinen Tabellen kleiner ist als die grosse Tabelle. Diese Voraussetzung ist gegeben, wenn wir eine sehr grosse Fact-Tabelle mit zwei kleinen Dimensionen verknüpfen. In der Star Query wird dann zuerst das kartesische Produkt der beiden Dimensionen gebildet, dann werden darauf die gewünschten

Einschränkungen vorgenommen, bevor das Resultat mit der sehr grossen Tabellen verknüpft wird. Parallel Queries Parallelisierung mit Oracle bedeutet, dass ein Query-Koordinator mehrere Sub- Prozesse startet und die Arbeit unter diesen Sub-Prozessen aufteilt. Partitioned Tables Eine Tabelle wird in physische Partitionen unterteilt. Bei einer Abfrage stellt Oracle selber fest, welche Partitionen gelesen werden müssen. Da je nach Abfrage nur einzelne Partitionen gelesen werden müssen, kann die Abfrage so beschleunigt werden. Weiter kann die Administration der Daten vereinfacht werden, da bei der Administration die Partitionen einzeln verwaltet werden können. S_cd P_cd G_cd Dat S_cd P_cd G_cd Dat 2 3 4 5 S_cd P_cd S_cd G_cd P_cd 2 S_cd 3 Dat G_cd 4 P_cd 5 6 Dat G_cd 7 8 9 Dat 6 7 8 9 Figur 6: Partitionen Materialized Views Eine normale View speichert keine Daten, sondern nur die Definition der Abfrage. Die Materialized View speichert im Gegensatz dazu sowohl die Abfrage als auch die Daten. Werden die Basisdaten verändert, so muss die Materialized View mit einem Refresh nachgeführt werden. Steht für eine Abfrage eine Materialized View zue Verfügung, so liest Oracle die Daten nicht von der Basistabelle, sondern von der Materialized View. So muss zur Beschleunigung von vorhandenen Abfragen die Abfrage selber nicht verändert werden. Es genügt, wenn eine entsprechende Materialized View definiert wird.

SELECT...... GROUP BY year; query rewrite CREATE MATERIALIZED VIEW sales_month ENABLE QUERY REWRITE AS SELECT...... GROUP BY month; ohne query rewrite Refresh mode? Base Data UPDATE / INSERT Figur 7: Materialized View Externe Tabellen (9i) Datenfiles können wie Tabellen angesprochen werden. Das vereifacht das Schreiben der Ladeprozeduren. Externe Tabellen ersetzen den SQL*Loader nicht, es ist aber eine hilfreiche Ergänzung. Multiple Table Insert (9i)Mit Multipe Table Insert kann mit einem Statement in mehr als eine Tabelle geschrieben werden. Tools Daten laden o SQL*Loader o Import, Export Design o Warehouse Builder Data Mart, OLAP o Oracle Express o Discoverer o OLAP Services (9i) Data Mining o Darwin

Literatur und Links Oracle spezifisch: Oracle8 Data Warehousing, Oracle Press, ISBN -7-8825-3 Generelle Grundlagen The Data Warehouse Toolkit, R. Kimball. Wiley Computer Publishing, ISBN -47-5337- The Data Warehouse Lifecycle Toolkit, R. Kimball. Wiley Computer Publishing, ISBN -47-25547-5 Data Warehouse Systeme, A. Bauer und H. Günzel. Dpunkt.verlag, ISBN 3-932588-76-2 Tool Übersicht http://www.dw-institute.com/resourceguide2/index.html Folien zum Vortrag http://www.trivadis.com http://www.trivadis.com/de/services/publikationen/publiste.asp Dr. Andrea Kennel Trivadis AG Kanalstr. 5 CH- 852 Glattbrugg Schweiz Andrea.Kennel@trivadis.com