86

Informatik (Fach) / Data Warehouse (Lektion)

Karten zu Data Warehouse (Prof. Teubner, SS2018, TU Dortmund)

Diese Lektion wurde von checko erstellt.

Lektion lernen

Anzeige
  • Was bedeutet "Data Warehouse"? Was sind die Eigenschaften? Data Warehouse ist eine Datenbank Eigenschaften: eher groß (mehrere Terabytes bis wenige Pentabytes)
  • Was sind die Probleme beim Generieren einer Datenbank? (4 von 6) 1. Data Warehouse ist dynamisch, heißt verändert sich kontinuierlich 2. Vorhersage der Anfrage eines Users ist sehr schwierig 3. Business Anforderungen ändern sich mit der Zeit 4. Benutzer und deren Profile verändern sich (ebenfalls) ständig. 5. Benutzer kann die Gruppe(n) wechseln 6. Das Daten laden ändern sich (ebenfalls) mit der Zeit. Es werden immer mehr Daten.
  • Was bedeutet OLTP? OLTP = Online Transaction Processing (Online Transaktionsverarbeitung) Verarbeitung von Transaktionen mit minimaler Zeitverzögerung Transaktionssicherheit bei parallelen Anfragen und Änderungen (minimale Antwortzeit bei hohem Durchsatz) Effizienz von OLTP hängt von der Wahl der Hardware ab Erhaltung der Datenbankkonsistenz Mischung von Operatoren (insert, update, delete, read)
  • Was bedeutet OLTP aus der Sicht einer Datenbank? Schnell ausführbare Operationen Anfragen meistens im voraus bekannt Zugriffe über Punkte (meist Indizes) Schreibrecht
  • Was bedeutet OLAP? OLAP = Online Analytical Processing Analyst muss vorab eine Hypothese aufstellen, welche durch die Anfrage dann bestätigt oder widerlegt wird. Grundlage für BIAs (Business-Intelligence-Anwendungen) Einsatzszenarien: Berichtwesen, Analyse, Planung und Finanzieren im Controlling, Vertrieb etc.) verhindert den Kontakt zu OLTP-Systemen Durchführung komplexer Analysevorhaben (hohes Datenaufkommen) Meist ausschließlich Leserechte (Read-Only) Benötigt Archivdaten Kann separaten Datenspeicher verwenden
  • Was bedeutet ODS? ODS = Operational Data Store (Separater Datenspeicher, dessen Inhalt stets up-to-date ist.)
  • Was bedeutet OLAP aus der Sicht einer Datenbank? Lang dauernde Operationen (meistens read-only) Anfrage im voraus nicht bekannt und komplex Scan von großen Datenmenge kann notwendig sein. Daten werden fast nur angehängt und nicht überschrieben.
  • OLTP, ODS, OLAP, DW - Business Focus? OLTP -> Operational ODS -> Operational/Tactical OLAP -> Tactical DW -> Tactical/Strategical
  • OLTP, ODS, OLAP, DW - DB Technologie? OLTP, ODS, OLAP, DW - Transaction Time? Technologie: OLTP, ODS, DW -> Relational OLAP -> Kubisch Transaction Time: OLTP -> Short ODS, OLAP -> Medium DW -> Long
  • OLTP, ODS, OLAP, DW - DB Size in GB? OLTP -> 10-400 ODS, OLAP -> 100-800 DW -> 800 - 80000
  • Anzeige
  • Wie sieht die Data Warehouse Architektur aus? s. (1)
  • Was ist der ETL-Process? (Übersicht) ODS -> Extract -> Transform -> Load -> DW Extract: Daten aus verschiedenen Quellen entpacken. Dabei Variation der Datenerfassung Transform: Datenbereinigung. Dabei die Daten an den Bestand anpassen, doppelte Daten entfernen (Datendeduplikation) und Fehler korrigieren. (Umwandlung in ein DW Schema) Load: Daten(mengen) in die Datenbank/Data Warehouse laden.
  • Data Warehouse Lebenszyklus s. (2)
  • Was ist der Single Source of Truth (SSOT), auch bekannt als Single Point of Truth (SPOT)? Single Source of Truth = Einziger Quell der Wahrheit Das heißt: EIN allgemeingültiger Datenbestand, der verlässlich und korrekt ist. Besonders wichtig bei Speicherung von redundanten (mehrfach vorkommenden) Daten In Data Warehouse: Datenbestand nach Datenbereinigung, -deduplikation und                    -transformation. Datenkonflikte müssen dabei aufgelöst werden. Redundante Daten müssen also in eindeutige Daten transformiert werden (bspw. Indexierung)
  • Was sind die drei Anforderungen an ein DW-Projekt? (inkl. kurzer Erklärung) Starker Management Sponsor (Finanzierung; am besten mehrere nicht rein IT-spezifizierte Sponsoren. Aber: mehrere Sponsoren führen u. U. zu komplexeren Erwartungen an die DW) Überzeugende Geschäftsmotivation (Demonstration des geschäftlichen Wertes unter Einbezug der Firmenstrategie. Mögliche Motivatoren: Wettbewerb und externe Veränderungen, Interne Krise, Firmenübernahme (dann Datenintegration)) Durchführbarkeit (Hauptsorge sind die Daten. Sehr wichtig ist das Datenprofil, welches durch intensive Untersuchung der verfügbaren Daten erhalten wird. Zur Datenuntersuchung gehört: Datenvolumen, (Fremd-)Schlüssel-Bedingungen, Datenqualitöt und -konsistenz, Datenquellen. Stehen genug Daten für eine DW zur Verfügung?)
  • Was sind die beiden Schritte vor dem Start eines DW-Projektes? 1. Rahmen definieren (Welche Geschäftsprozess sind Teil des Projektes? Zu erwartende Kosten? Verantwortlichkeiten? Zeitplan? Wie wird der Erfolg/Fortschritt gemessen? 2. Projektmitglieder anheuern (Am besten eine gute Mischung aus ITlern und Geschäftsleuten)
  • Was beinhaltet der Datenbank-Design-Process? Problem -> Anforderungsanalyse (Kundengespräche) -> Konzept -> Logisches Design -> Schema Verfeinerung -> Physikalisches Design -> Datenbank-Schema
  • Strategie für die Gestaltung eines DW? 1. Kundengespräche (soviele, bis das Kundenproblem mit eigenen Worten wiedergegeben werden kann.) 2. Erstellen eines detaillierten Modells, welches in die Kundengespräche mit einbezogen werden. 3. Schrittweises Umwandeln des detaillierten Modells in logische und physikalische Datenmodelle
  • Wie sieht die Anforderungsanalyse für ein DW im Vergleich zu einer DB aus? Normale Datenbank: Fokus aus Subjekte. Verben stehen für die Beziehungen Data Warehouse: Fokus auf Prozesse wie Abrechnung, Versand, Bearbeitung Sericeanfragen etc. "By" Wörter (deutsch: nach, wie) zeigen die Dimensionen an. (Bsp. Untersuchung der Personen nach Alter, Größe und Gewicht.) (Dimension: Anzahl der Spalten oder Tabellen)
  • Was ist eine "enterprise data-warehouse bus matrix"? Tabelle, die zeigt, welche Prozesse (Fakten) welche Gruppen/Faktoren enthalten. Dabei sind die Zeilen die Prozesse und die Spalten die Faktoren ("By"-Wörter). Die Anzahl der Spalten ergibt die Dimension. enterprise data-warehouse bus matrix = Unternehmens-DW-Busmatrix
  • Was ist eine opportunity matrix? Opportunity Matrix = Gelegenheitsmatrix Diese Matrix (Tabelle) zeigt, welcher Arbeitsbereich/Organisation in welchen Prozess involviert ist. (Hilfreich für Rechtfertigungen)
  • Wie ist die Vorgehensweise bei der Definition eines Rahmens für das DW? 1. Fokussierung auf einen einzelnen Geschäftsprozess. Wähle hierfür einen Geschäftsprozess, der überschaubar ist und dennoch geschäftlichen Nutzen bringt. Eine gute Entscheidungsgrundlage liefert die Anforderungsanalyse. 2. Definieren Ziele und Meilensteine, die erreicht werden müssen. Schätze die (notwendigen) Kosten.
  • Welche zwei Arten von Daten gibt es? 1. Dimensionen (Sie beschreiben den Kontext von anderen Einträgen, bspw. das Alter zu einer Person) 2. Fakten/Messwerte (Sie beschreiben eine Sache selbst, bspw. der Verkaufspreis oder Verkaufsdatum)
  • Was ist eine Pivot-Tabelle im Vergleich zu einer normalen Tabelle? Eine Pivot-Tabelle bietet die Möglichkeit, Daten auf verschiedene Art und Weise darzustellen ohne die Ursprungsdaten zu verändern.
  • Was sind die Eigenschaften von Fakten/Messwerte? Performenz-Messung numerisch, kontinuierlich bewertet erlaubt detailierte Zusammenfassung von Daten durch Filterung
  • Welche drei Arten von Fakten/Messwerte gibt es? 1. Additive Fakten (Sie können über irgendeine Dimension zusammengefasst werden) 2. Semi-additive Fakten (Sie können über mehrere, aber nicht alle Dimensionen zusammengefasst werden.) 3. Nicht-additive Fakten (Sie können nicht sinnvoll zusammengefasst werden. Bsp.: Einzelpreis, Wechselkurs)
  • Was sind die Eigenschaften von Dimensionen? Typisches Kriterium für eine Gruppierung sind häufig Teil einer oder mehrere Hierachien (Bsp.: Land -> Bundesland -> Stadt -> Stadteil oder Jahr -> Monat -> Tag bzw. Jahr -> Quartal -> Woche -> Tag) enthalten häufig textuelle Attribute und weniger numerische
  • Was ist ein Star schema und wie ist es aufgebaut? Star schema = Form der Darstellung einer (relationalen) Datenbank: Aufbau: Eine Fakten-Tabelle, die mindestens von jeder Dimensionstabelle einen Fremdschlüssel enthält. Zusätzlich können auch Fakten ohne eine zugehörige Dimensionstabelle enthalten sein. Die Dimensionstabelle sind sternförmig um die Faktentabelle angeordnet. s. auch (3)
  • Was ist der Unterschied zwischen einem privaten und einem fremden Schlüssel? Privater Schlüssel (private key, PK): Der Schlüsselwert einer Dimension/Tabelle Fremdschlüssel (foreign key, FK): Der Schlüsselwert einer anderen Dimension/Tabelle, der auch der Teil der vorliegenden Dimension/Tabelle ist.
  • Was sind die vier Schritte, um ein Star Schema zu erstellen? 1. Wähle ein Geschäftsprozesse (bspw. mit einem zentralen Geschäftsprozess) 2. Deklariere die Genauigkeit der Faktentabelle (Was genau soll eine Zeile der Faktentabelle repräsentieren? Bspw. bei einem Kassenbon: Eine Zeile pro eingescannten Produkt oder eine Zeile pro Produkt auf der Rechnung oder eine Zeile pro Verkaufspreis etc. Im Zweifel die höchste Genauigkeit wählen.) 3. Identifiziere die Dimensionen, wähle die passenden Attribute und erstelle die Dimensionstabellen (Wähle Gruppenkriterien. Beantwortete zu einer Dimension die Fragen: Wer? Was? Wo? Wann? Warum? Wie? Die Wahl der Genauigkeit der Faktentabelle entscheidet über die Anzahl der Dimensionen. Der Schlüssel einer Dimensionstabelle sollte ein Attribut sein, welches sich nicht ändert, wie zum Beispiel ein Index. Diese werden auch Stellvertreterschlüssel (surrogate Schlüssel genannt.) 4. Identifiziere die Fakten (Was wird in dem Prozess gemessen? Die meisten (nützlichen) Fakten sind dabei additiv.)
  • Anzeige
  • Bei Dimensionen treten häufiger Redundanzen auf? Was ist eine Redundanz und warum stören sie nicht? Redundanz = Information, welche auch weggelassen werden kann ohne das Informationen verloren gehen. Sie stören nicht, weil sie praktisch sind (bspw. Daten (Datum!) können so wochen-, monats- oder quartalsweise zusammengefasst werden.) sie helfen, Ergebnisse besser zu beschreiben (Bsp.: Datum ist durch Angabe des Wochentages bzw. Quartals besser darstellbar) sie die Dimensionstabelle nicht vergrößern (insbesondere beim Datum -> maximal 366 Tage)
  • Ist es ein Ziel des Data Warehouse, die einzelnen Tabellen zu normalisieren? Nein!
  • Was ist das "Snowflaking"-Prinzip und sollte es in einem Star Schema angewendet werden? Jede Dimensionstabelle enthält einen privaten und einen Fremdschlüssel einer anderen Dimension. Dadurch können die Dimensionstabellen aneinandergereiht dargestellt werden. Auf diese Weise kann eine Dimension durch weitere Dimensionen beschrieben werden. Das Snowflaking-Prinzip widerspricht dem Aufbau eines Star Schemas und sollte daher nicht angewendet werden. Auch verliert das Star Schema dadurch an Übersichtlichkeit.
  • Gegeben ist die Pivottabelle "sales" (6). Schreibe eine SQL-Anfrage an eine einfache Tabelle und an ein Star Schema, mit der die Verkaufszahlen des dritten Quartals aller kalifornischen Städte summiert werden. (Dimesion_Store enthält das Attribut "state", Dimension_Datum das Attribut "quarter_of_cal_year") Einfache Tabelle:SELECT SUM (sales.quantity)FROM sales_flat AS salesWHERE sales.state = 'California'AND QUARTER (sales.date) = 3 Star Schema:SELECT SUM (sales.quantity)FROM sales_fact AS sales, date_dimension AS d, store_dimension AS storeWHERE sales.date_key = d.date_keyAND sales.store_key = store.store_keyAND store.state = 'California'AND d.quarter_of_cal_year = 3
  • Was bewirken die Befehle "GROUP BY (a,b,c)", "GROUPY BY ()", "GROUP BY CUBE (a,b,c)" und "GROUP BY ROLLUP (a,b,c)" im Zusammenhang mit der Aggregatsfunktion SUM (in der SELECT-Klausel) in einer SQL-Abfrage? GROUP BY (a,b,c): Es werden die Werte nach a, b, und c aufsummiert. GROUP BY (): Es werden alle Werte aufsummiert. GROUP BY CUBE (a,b): Wie GROUP BY, wobei die angegebenen Spalten alle Teilmengen von (a,b) sind. D.h. (), (a), (b), (c), (a,b), (a,c), (b,c), (a,b,c). GROUT BY ROLLUP (a,b): Wie GROUP BY, wobei die angegebenen Spalten alle Präfixe von (a,b,c) sind. D.h. (), (a), (a,b), (a,b,c). siehe hierzu auch (4)
  • Wie werden Nullwerte (NULL, 0) in einer Data Warehouse Tabelle dargestellt? Attribut: Kein Problem. Angabe als NULL oder 0 möglich. Schlüssel: Problematisch wegen JOIN! Daher hier keine Nullwerte verwenden, sondern zusätzliches Attribut einfügen.
  • Was ist eine degenerierte Dimension? Eine degenerierte Dimension ist ein "Attribut" der Faktentabelle, die auf keine weiteren Informationen verweist.
  • Was ist der einzige Updating-Prozess in DW und was ist zu berücksichtigen? Der einzige Update-Prozess ist der ETL Dabei muss eine Änderungshistorie geführt werden. Updates einer DW sind komplex.
  • Auf welche fünf Arten (type 0 - type 4) können Updates durchgeführt werden? Type 0: Behalte das Original oder Passive Methode (Ist die DW einmal geladen, können bestimmte Attribute nicht mehr verändert werden (sind statisch) wie z.B. Erstelldatum, Objekt- ID. Diese werden als original gekennzeichnet.) Type 1: Überschreiben (Alte Werte werden durch Neue überschrieben. Dabei werden weder Faktentabelleneinträge noch Schlüsselwerte verändert. Einfach implementierbar.) Type 2: Füge neue Zeile ein. (Anstatt das alte Werte durch Neue überschrieben werden, wird eine neue Zeile, die die Änderung enthält, eingefügt. Dabei gilt: Alte Fakten zeigen (noch) auf alte Werte und neue Fakten auf neue Werte. Dieser Typ kann nur mit Stellvertreterschlüsseln funktionieren. Wird meist angewendet.) Type 3: Füge neues Attribut ein. (Die Änderungen werden in Form von neuen Attributen gespeichert. Werte werden nicht überschrieben. Nicht verwendbar für Attribute, bei denen die Änderung eines Wertes nicht absehbar ist.) Type 4: Füge Minidimension ein. (Attribute, die sich häufig ändern, werden in einer separaten Minidimension ausgelagert. Dies hat den Vorteil, dass die Dimensionen nicht so schnell mit jedem Update wachsen. ("Lastenverteilung"))
  • Was bedeutet die Operation "drill down"? "drill down" bedeutet eingraben. Gemeint ist, dass zunächst Beobachtungen gemacht werden, welche dann durch genauere Anfragen/Gruppierung spezifiziert werden. Man gräbt sich also immer weiter in DB ein.
  • Was bedeutet die Operation "drill across"? Welche drei Fälle müssen unterschieden werden? "drill across" bedeutet, dass zwei Geschäftsprozesse miteinander verknüpft werden. Dabei werden Werte, die in beiden Prozesse von Bedeutung sind, miteinander verglichen und Übereinstimmungen herausgearbeitet. Es müssen folgende drei Fälle unterschieden werden:1. Verwendung der gleichen Dimensionstabelle (Erstelle gemäß Enterprise DW Bus Matrix für jede Spalte eine Dimensionstabelle und für jede Zeile eine Faktentabelle. Dabei referenzieren die Werte aller Faktentabellen auf die gleichen Dimensionstabellen.)2. Aufgerollte, übereinstimmende Dimensionen mit Attributuntermenge (Eine niedrige Genauigkeit bedeutet, dass nur eine Attributteilmenge gilt. Zusätzlich müssen die verbliebenen Spalten noch übereinstimmen. D.h. Verwendung gleicher Spaltenüberschriften und gleiche Schreibweise aller Attribute)3. Eingefallene, übereinstimmende Dimensionen mit Zeilenuntermenge (Es kann sein, dass nicht alle Dimensionenszeilen in allen Geschäftsprozessen relevant sind. Man dann jedem Prozess nur die relevanten Zeilen zuordnen.)
  • Was sind die drei Typen von Faktentabellen? a) transactional (zentriert um Geschäftsprozesse wie Einkauf, Verkauf, Lager) b) periodic snapshot (zentriert um Bestände wie Lagerbestände, Produktbestände) c) accumulating snapshot (zentriert um einzelne Produkte oder Produktmengen.)
  • Nenne die Ebenen der Speicherhierachie, deren Kapazität und Wartezeit! CPU (B, < 1 ns) Cache (KB/MB, < 10 ns) Hauptspeicher (GB, 70-100 ns) Festplatte (TB, 3-10 ms) Kassettenbibliothek (PB, variiert)
  • Was ist das Volcano Iterator model? Was sind die Vorteile? Volcano Iterator Model = Ein Anfrageplan, den eine Datenbank durchläuft. Dabei wird die Anfrage solange über next()-Operatoren an nachfolgende Operatoren weitergegeben, bis das/die gewünschte Tupel ermittelt wurden (plan root). Dann werden diese wieder nach oben zurückgegeben. Dieser Vorgang wird auch pipelining genannt. Vorteile: Hohe Skalierbarkeit, einfaches Interface zum Erstellen beliebiger Anfragepläne
  • Was ist der lookup Mechanismus? Beim lookup-Mechanismus ist der Wert eines Attributs ein record identifier (rid), welcher den physikalischen Speicherplatz von einem übereinstimmenden Tupel kodiert.
  • Wie sieht der grundsätzliche Aufbau einer Star Query aus? Was sind die Nachteile einer Star Query und wie kompensiert man sie? 1. Join der Faktentabelle mit einer Anzahl von Dimensionstabellen 2. schränke die Anzahl der Tupel ein (es kann effizienter sein, wenn dieser Schritt zuerst gemacht wird.) 3. groupiere die Tupel durch Verwendung von GROUP BY (s. auch (5)) Nachteile: Faktentabelle ist sehr groß. Die Join-Operationen werden dadurch sehr kostenintensiv. (cost R join S ∝ |R| + |S|) Lösung: Mit Hilfe von CREATE VIEW kann eine Unteranfrage (materialized view) erstellt werden, welche nur einmal berechnet werden muss, aber an mehreren Stellen eingesetzt werden kann.
  • Was ist eine materialized view? Was sind die Eigenschaften und Vorteile? materialized view: Datenbank-Objekt, welches das Ergebnis einer Anfrage enthält. Sie wird einmal berechnet und kann dann an verschiedenen Stellen verwendet werden. Zudem wird sie bei Aktualisierungen der Basistabellen ebenfalls aktualisiert. Eigenschaften einer materialized view: Können genauso groß sein wie eine Faktentabelle Können eine Obermenge der benötigten Informationen enthalten wird durch den Befehl CREATE VIEW name (Quelle, Quelle2, ...) AS Anfrage erzeugt. Dient zum Zwischenspeichern von Ergebnissen Materialized views sind hilfreich für eine Abfrage, weil sie einen viel effizienteren Zugriff auf Daten auf Kosten des Speicherplatzes und möglicherweise nicht mehr aktuellen Daten ermöglichen. sie die Filterkriterien verfeinern, wenn die Sicht abgefragt wird. durch sie Ergebnisse mit hoher Genauigkeit zu Ergebnisse mit niedrigerer Genauigkeit zusammengefasst werden können.
  • Kann eine materialized view verwendet werden, um eine Anfrage Q zu beantworten? Ja, wenn (unter der Annahme, dass V und Q star queries sind) gilt, dass die Selektionsprädikate in Q durch die von V subsumiert werden. (Diese sollten in disjunktiver Normalform angegeben werden.) die GROUP-BY-Attribute in Q durch die von V subsumiert werden. die Aggregatsfunktionen in Q kompatibel mit denen von V sind. alle Tabellen, auf die in V referenziert werden, genauso in Q referenziert werden müssen.
  • Welche Gruppen von Aggregationsfunktionen gibt es? Wie ist deren Verhalten (mit Beispiel)? 1. additive: f(X1 ∪ X2) = f(f(X1), f(X2) und f-1 existiert. (Bsp.: sum(a,b,c) = sum(sum(a,b), sum(c)) und somit auch sum(c) = sum(a,b,c) - sum(a,b)) 2. semi-additiv: wie additiv, wobei f-1 nicht existiert. (Bsp.: min(a,b,c) = min(min(a,b), min(c)). Umkehrfunktion gibt es nicht.) 3. additiv berechenbar: f(X) = f'(f1(X), f2(X), ... , fk(X)), wobei fi ist eine (semi-)additive Funktion ist. (Bsp.: average(X) = sum(X)/count(X)) 4. andere (Bsp.: Median)
  • Welche zwei Schritte werden bei der Suche nach Datensätzen nach Wert durchlaufen? Was sind die Kosten? 1. Index durchlaufen mit Hilfe des Suchschlüssels (Kosten: ca. eine E/A pro Suche, wobei innere Knoten (oder die ganze Tabelle, wenn sie klein genug ist) zwischengespeichert werden.) 2. Abrufen von Tupeln von der Datentabelle (Kosten: ca. eine E/A pro Ergebnistupel, wobei das Folgen von Rids zu quasi-zufälligen Eingaben/Ausgaben führt.)