Inhaltsverzeichnis

Vorlesung 1

Motivation

Beispielszenarien

  • Supermarkt: Datenverwaltung über Mitarbeiter, Lieferanten, Ware usw.
  • Krankenhaus: Datenverwaltung über Patienten, Ärzte, Medikamente usw.
  • Meteorologie: Datenverwaltung über Orte, Temperaturen, Windstärke usw.

Typen von Informationssystemen

  • Operative Systeme (OLTP)
  • Entscheidungsunterstützende Systeme (EUS)
    • DSS (Decision Support Systems)
    • MIS (Management Information Systems)
    • EIS (Executive Information Systems)

IT-Landschaft ohne DWH

  • Probleme:
    • Schlechte Vergleichbarkeit
    • Schlechte Reproduzierbarkeit
    • Mangelnde Flexibilität
    • Mangelnde Einbeziehung externer Daten

Spinnennetzarchitektur

  • Entstehung durch “Auswertungen von Auswertungen”

Referenzarchitektur

Datenquellen

  • Interne Quellen: ERP- bzw. CRM-Systeme
  • Externe Quellen: Web, demographische Daten, Social Media
  • Heterogenität: Relationale Datenbanken, semistrukturierte Daten, unstrukturierte Informationen

Staging Area

  • Back End-Werkzeuge
  • Integrationsprozess (ETL-Prozess)
  • Monitoring, Archiv, Metadaten-Repository, ODS

Integrationsprozess

  • Extrahieren: Datenübertragung in den Operational Data Store
  • Transformieren: Datenmigration (Datentypen, Kodierungen, Maßeinheiten)
  • Laden: Übertragung ins DWH (Online- vs. Offline-Ladevorgänge)
  • Bereinigung: Data Cleansing (Dubletten, Ausreißer, veraltete Daten)

DWH und Archiv

  • Data Warehouse (DWH): Integrierte, analyse-orientierte, historisierte Datenbank
  • Archiv: Speicherung nicht mehr benötigter Daten mit möglicher Rückübertragung

Front End-Werkzeuge

  • Berichtswerkzeuge: Vordefinierte Abfragen in tabellarischer/graphischer Form
  • OLAP-Werkzeuge: Multidimensionale, interaktive Datenanalyse
  • Data Mining-Werkzeuge: Maschinelles Lernen zur Mustererkennung

Data Marts

  • “Kleines Data Warehouse”
  • Arten:
    • Abhängige Data Marts (Hub and Spoke Architektur)
    • Unabhängige Data Marts
  • Vergleich Data Mart – DWH:
    • Geringere Datenmengen, stärker aggregiert, kürzere Datenhistorie
    • Data Marts für Abteilungen, DWH unternehmensweit
  • Wirtschaftlicher Aspekt:
    • Pro DWH: Konsolidierung, Effizienzgewinne, einheitliche Datensicht
    • Pro Data Mart: Einfachere Organisation, geringere Anfangsinvestition

Vorlesung 2

Eigenschaften multidimensionaler Schemata

Fakten

  • Berechnungsvorschriften:
    • Disjunktheit
    • Vollständigkeit
    • Typverträglichkeit
    • Klassifikation von Kennzahlen (FLOW, STOCK, VALUE PER UNIT)
  • Struktur: Innere Struktur und abgeleitete Attribute

Dimensionen

  • Mehrfachhierarchie
  • Alternative Verdichtungspfade
  • Unbalancierte Hierarchien
  • Anteilige Verrechnung
  • Nicht-vollständige Verdichtung

Schema

  • Ein oder mehrere Fakten pro Schema
  • Beziehungen zwischen Fakten
  • Nutzung von Dimensionen durch Fakten
  • Beziehungen zwischen Dimensionen
  • Raumaufspannung durch Dimensionen

Besetzungsgrad und Sparsity-Faktor

  • Maximalvolumen des Hypercubes
  • Besetzungsgrad
  • Sparsity-Faktor

Notationen

Übersicht

  • Bekannte Notationen: ME/RM, starER-Modell, ADAPT, DFM, MD-Modell, MAC, mUML, Ansatz von Trujillo, YAM

mUML

  • MML als Basis
  • Objektorientierung (UML) als Grundlage
  • Designkriterien:
    • Beibehaltung objektorientierter Konstrukte
    • Ergänzung multidimensionaler Konzepte
    • Unterstützung vielseitiger dimensionaler Strukturen
    • Verschiedene graphische Notationen
  • Graphische Notation mit Mechanismen:
    • Tagged Values
    • Stereotypen (<<FactClass>>, <<DimensionalClass>>, <<Dimension>>, <<RollUp>>, <<SharedRollUp>>, <<NonCompleteRollUp>>)
  • Beziehungen zwischen Fakt- und Dimensionalklassen
  • Beispielschema mit verschiedenen Rollup-Beziehungen

Vorlesung 3

Weitere Anwendungen

Dashboards/Scorecards

  • Überblick über wichtige Kennzahlen

Wenn-Dann-Analyse

  • Synonyme: What-If-Analysis, Probable Clause
  • Vorgabe von Zielwerten/Szenarien und Vergleich der Auswirkungen

Vorhersage

  • Synonyme: Forecasting, Prognosen
  • Quantitative Verfahren:
    • Extrapolation und Hochrechnung
    • Trendprognose
    • Exponentielle Glättung
    • Regression

Aktive Systeme

  • Push-Technologie: Automatische Datenbereitstellung (z. B. Berichte)
  • Frühwarnsystem:
    • Definition von Schwellwerten/Mustern
    • Automatische Benachrichtigung

Zeitnahe Verarbeitung

  • Stetiges Nachladen ins DWH für zeitnahe Daten
  • Begriffe:
    • (Near) Real Time Data Warehouse
    • Status Monitoring
    • Activity Tracking
      • Konfiguration überwachter Quelldaten
      • Zugriff auf weitere Daten

Klassifikation von Systemen

  • Beispiel: BI Maturity Model (biMM)
  • Quelle: [Mumm04]

Vorlesung 5

Relationale Speicherung

Fakten und Dimensionstabellen

  • Umsetzung multidimensionaler Daten in relationale Strukturen
  • Sternschema: Dimensionstabellen mit Primärschlüsseln und Faktentabelle mit Fremdschlüsseln
  • Schneeflockenschema: Normalisierte Dimensionstabellen mit separaten Hierarchiestufen

Sternschema

  • Denormalisierte Dimensionstabellen mit allen Hierarchieebenen
  • Faktentabelle mit Fremdschlüsseln und Kennzahlen
  • Effiziente Anfragebearbeitung und verbreitete Nutzung in OLAP

Schneeflockenschema

  • Jede Hierarchieebene in separater Tabelle
  • Normalisierung reduziert Redundanzen, erschwert aber Anfragen
  • Weniger Speicherplatzverbrauch, aber teurere Verbund-Operationen

Vor- und Nachteile der Schemaformen

  • Sternschema: Einfach, effizient für OLAP, aber mehr Redundanz
  • Schneeflockenschema: Speicheroptimiert, aber komplexe Abfragen

Änderungen in den Dimensionen

  • Neue Elemente, Werteänderungen, neue Hierarchieebenen oder Dimensionen
  • Slowly Changing Dimensions (SCD) nach Kimball:
    • Typ I: Überschreiben
    • Typ II: Historisierung mit Gültigkeitsintervall
    • Typ III: Neue Attribute

Anfragen an relationale Schemata

  • Übersetzung multidimensionaler Anfragen in SQL
  • OLAP-Operationen (Slice, Dice, Roll-Up, Drill-Down) durch SQL-Konstrukte
  • Beispiel: SQL-Query mit JOINs, WHERE-Klauseln und GROUP BY

Aufbau von SQL-Anweisungen für multidimensionale Speicherung

  • Auswahl von Kennzahlen mit Aggregationsfunktionen
  • JOIN-Bedingungen zwischen Fakten- und Dimensionstabellen
  • Filterung in WHERE-Klauseln, Gruppierung in GROUP BY
  • Umsetzung von ROLAP (Relational OLAP)

Vorlesung 6

Extrahieren – Transformieren - Laden

Datenfluss

  • Extraktion (E1, …, En) der Daten aus Quellen (S1, …, Sn)
  • Schrittweise Bearbeitung der Daten durch Transformationsschritte (T1, …, Tn)
  • Ladeprozess (L) ins DWH
  • Nutzung einer Data Staging Area als Zwischenspeicher

Extraktion

  • Erstes ETL-Schritt: Datenübertragung in die Staging Area
  • Filterung und Bereitstellung der Daten
  • Meldung oder Ermittlung von Änderungen
  • Extraktion durch Extraktor
  • Lieferung periodisch, synchron oder ereignisgesteuert
  • Methoden: Snapshot, Logfile, Snapshot-Differenz

Transformation (Diverse Transformationsschritte)

  • Selektion: Auswahl bestimmter Datensätze
  • Projektion: Auswahl bestimmter Spalten
  • Pivotisierung: Umwandlung von Zeilen in Spalten
  • Automatische Erkennung & Korrektur: Erkennen von Mustern und Bereinigung
  • Felder separieren oder zusammenfassen
  • Disaggregation: Aufteilung in separate Tabellen
  • Einheitliches Format (Formatieren)
  • Konvertieren: Einheitliche Darstellung von Einheiten
  • Matching und Deduplizieren: Identifizierung und Entfernung von Dubletten
  • Konsistenzprüfungen (Validierungen)
  • Codierungen vereinheitlichen
  • Berechnung abgeleiteter Werte
  • Daten aggregieren
  • Abgleich (Reconciliation)

Ladeprozess

  • Einbringen der Daten ins Data Warehouse
  • Strategien abhängig von Aktualisierungsintervallen und Speicherstrategie

Architekturen und Werkzeuge

Individualentwicklung

  • Nutzung verschiedener Technologien: Replikationssoftware, FTP, Skriptsprachen, Programmiersprachen, Bulk Loader
  • Herausforderungen: Unübersichtlichkeit, schlechte Wartbarkeit

Codegenerierung

  • Automatisierte Code-Erstellung für Datenbewegungen

ETL-Werkzeug

  • Standalone- oder Suite-Lösungen
  • Beispiele: Talend, Oracle, Microsoft
  • Funktionale Eigenschaften: Quellenunterstützung, Transformation, Skalierbarkeit, Sicherheit, Metadatenmanagement
  • Management/Administration: Ladepläne, Monitoring, Reporting

Datenbankerweiterungen für den ETL-Prozess

Externe Tabellen

  • Strukturierte Dateien werden wie interne Tabellen behandelt
  • Einschränkungen: Read-Only, keine Constraints, keine Indizes

Gleichzeitiges Einfügen (INSERT WHEN)

  • Ermöglicht Einfügen in mehrere Tabellen mit einer Anweisung
  • INSERT ALL vs. INSERT FIRST

MERGE INTO

  • Kombiniert UPDATE- und INSERT-Operationen
  • Optional DELETE anstelle von UPDATE

Bulk Loader

  • Effizientes Einfügen großer Datenmengen
  • Umgehung von Konsistenzprüfungen und Schreibmechanismen

Andere Integrationsansätze

ELT

  • Extrahieren – Laden - Transformieren

EAI, SOA

  • EAI (Enterprise Application Integration): Anwendungsintegration mittels Protokollen und Schnittstellen
  • SOA (Service Orientierte Architektur): Service-Paradigma für Applikationen

ESB, EII

  • ESB (Enterprise Service Bus): Routing, Transformation und Transport von Nachrichten
  • EII (Enterprise Information Integration): Einordnung nach Verarbeitung und Datenmenge

Vergleich

  • Abgrenzung von EII, ETL und EAI nach Verarbeitungsarten und Datenvolumen

Vorlesung 7

CLIQ (data CLeansing mit Intelligentem Qualitätsmanagement)

  1. Prüfung von Schlüssel-Eindeutigkeit und referentieller Integrität

    • Erzeugung global eindeutiger Primärschlüssel
    • Behandlung von Nullwerten
    • Anpassung von Datentypen
    • Konvertierung von Codierungen/Maßeinheiten
    • Berechnung abgeleiteter Werte
    • Kombination/Separierung von Attributwerten
  2. Vereinheitlichung der Repräsentation

  3. Statistische Prozesskontrolle (SPC)

    • Verwaltung statistischer Kennzahlen zu Attributwerten: Mittelwert, Varianz etc.
    • Neue Daten: Signifikante Abweichungen?
  4. Domänenspezifische Konsistenzprüfung / Nachbearbeitung

  5. Record Linkage

  6. Merging

    • Kriterien: Informationsgehalt, Quellenpriorität, Zeitnähe, Wahrscheinlichkeit, Häufigkeit
    • Verschiedene Verfahren in der Literatur
    • Wichtig: Abweichungstoleranz
    • Resultat: Menge von Tupelmengen, deren Elemente dieselbe Entität beschreiben
  7. Qualitätsmessung und -analyse

    • Einsatz von Metriken/Indikatoren
    • Basis: Anforderungen aus der Qualitätsplanung
  8. Lenkung von Datenprodukten / Qualitätsverbesserung

    • Symptomorientierte Maßnahmen
    • Ursachenorientierte Maßnahmen
    • Vergabe von Nutzungsauflagen
    • Wiederaufsetzen bei Phase 8
    • Inkrementelles Update des Operational Data Store
    • Historisieren vs. Überschreiben
  9. Freigabe von Datenprodukten

  10. Analyse von Kundenfeedback / Datenrücknahme

    • Maß für die Wirksamkeit des DQM

Q-Metriken (Qualitätsmetriken)

  • Qualitätsmessung und -analyse im CLIQ-Vorgehensmodell
  • Beispiel für eine Metrik: Anzahl der NULL-Werte in Spalten mit Interessen
  • Verwendung von Metriken in der statistischen Prozesskontrolle
  • Anzahl der NULL-Werte von Nicht-Schlüsselattributen als Maß für Unvollständigkeit
  • Bedeutung von Q-Metriken für die Datenqualitätssicherung

Vorlesung 8

ROLLUP-Operator

  • Ergänzt die GROUP BY-Klausel
  • Ermöglicht die Berechnung von Zwischensummen
  • Berechnet Standardaggregationen (wie bei GROUP BY ohne ROLLUP)
  • Berechnet Zwischensummen höherer Ebenen durch das Durchgehen der Argumente von rechts nach links
  • Berechnet die Gesamtsumme
  • Reihenfolge der Attribute in der ROLLUP-Liste bestimmt die Aggregationsebenen
  • Semantik von NULL-Werten: “Teilsumme” statt “unbekannt”
  • Partieller ROLLUP: Aggregierung nur für ausgewählte Dimensionen
  • Vergleich ROLLUP vs. UNION ALL: Effizienz und Lesbarkeit
  • Grenzen des ROLLUP-Operators: Nicht alle möglichen Teilsummen werden berechnet

CUBE-Operator

  • Syntax: GROUP BY CUBE(<Liste>)
  • Berechnung von Teilsummen aller möglichen Kombinationen der Dimensionen
  • Anzahl der berechneten Teilsummen: 2ⁿ (n = Anzahl der Dimensionen)
  • Möglichkeit zur Einschränkung der Berechnung durch Gruppierung vor dem CUBE-Operator
  • Vergleich CUBE vs. UNION ALL: Effizienzunterschiede
  • Unterstützung weiterer Aggregatfunktionen (SUM, COUNT, AVG, MIN, MAX, STDDEV, VARIANCE)
  • Einschränkung: DISTINCT ist in Kombination mit CUBE/ROLLUP nicht erlaubt

Weitere Themen

  • GROUPING-Funktion zur Interpretation von Ergebnissen
  • DECODE-Funktion zur Formatierung von Ergebnissen
  • Hierarchien und der ROLLUP-Operator
  • Verwendung in HAVING- und ORDER BY-Klauseln
  • Übungsaufgaben zum ROLLUP- und CUBE-Operator

Vorlesung 9

Windowing

  • Definition und windowing_clause
    • Analytische Funktionen beziehen sich auf einen Ausschnitt an Zeilen innerhalb einer Teilmenge, der als Fenster bezeichnet wird.
    • Berechnung erfolgt relativ zur aktuellen Position.
    • Syntax: <windows_mode> BETWEEN <start_point> AND <end_point>
  • Definitionen
    • Current Row (CR): Aktuelle Zeile
    • Peer Group (PG): Alle Zeilen mit gleichem Wert im Sortierargument.
    • Current Group (CG): Peer Group der aktuellen Zeile.
  • windows_mode
    • Bezug: Zeile (ROWS) oder Peer Group (RANGE, GROUPS).
    • Offset-Berechnung: Physisch (ROWS, GROUPS) oder logisch (RANGE).
  • <start_point> und <end_point>
    • Mögliche Werte für <value_expr>:
      • PRECEDING, FOLLOWING, UNBOUNDED PRECEDING, UNBOUNDED FOLLOWING, CURRENT ROW.
    • Einschränkung: Anfang muss vor Ende liegen.
    • Einschränkungen bei Modus RANGE.
  • Standardfenster
    • Keine ORDER BY-Klausel: Gesamte Teilmenge (ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING).
    • Mit ORDER BY-Klausel: Beginn Teilmenge bis aktuelle Gruppe (RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW).
  • Verkürzte Notation
    • Weglassen von BETWEEN/AND, nur Angabe eines Punkts <point>.
  • Unterschied ROWS vs. RANGE/GROUPS
    • Beispielhafte Unterschiede bei Fenster mit Vorgängern und Nachfolgern.
  • Anwendungen
    • Durchschnitt ganze Teilmenge, Aufsummierung, (Teil-)Aufsummierung, Gleitender Durchschnitt.
  • Schlüsselwort WINDOW
    • Auslagerung von Teilmengendefinition und Sortierung.
    • Verbessert Lesbarkeit des SQL-Codes.
  • Schlüsselwort EXCLUDE
    • Ermöglicht explizites Ausschließen von Fensterteilen.
    • Optionen: EXCLUDE NO OTHERS, EXCLUDE CURRENT ROW, EXCLUDE GROUP, EXCLUDE TIES.

Rangfunktionen

  • Motivation
    • Standard SQL bietet keine direkte Möglichkeit zur Berechnung von Rangfolgen oder Verteilungen.
  • Allgemeines
    • Alle Rangfunktionen haben optional eine Teilmengenbildung (PARTITION BY) und benötigen eine Sortierung (ORDER BY).
    • Rangfunktionen dürfen keine Fensterbildung (windowing_clause) haben.
  • Funktion RANK()
    • Vergibt innerhalb einer Teilmenge fortlaufende Nummern basierend auf dem Sortierkriterium.
  • Funktion DENSE_RANK()
    • Vergibt innerhalb einer Teilmenge fortlaufende Nummern, bei gleichen Werten erhalten alle Zeilen den gleichen Rang.
  • Funktion ROW_NUMBER()
    • Vergibt innerhalb einer Teilmenge fortlaufende, eindeutige Zeilennummern.
  • Funktion PERCENT_RANK()
    • Ermittelt den Prozentrang jedes Datensatzes innerhalb einer Teilmenge.
  • Funktion CUME_DIST()
    • Ermittelt die kumulative Verteilung jedes Datensatzes innerhalb einer Teilmenge.
  • Funktion NTILE(n)
    • Unterteilt die Datenmenge in n nahezu gleich große Teilmengen (Quantile).

Zugriff bestimmter Zeilen

  • Funktionen LAG() und LEAD()
    • Zugriff auf die n-te vorhergehende bzw. nachfolgende Zeile.
    • Häufige Anwendungen: Prozentuale Veränderung, Differenzbildung.
  • Funktionen FIRST_VALUE(), LAST_VALUE(), NTH_VALUE()
    • Zugriff auf die erste, letzte oder n-te Zeile im Fenster.
    • Umgang mit NULL-Werten: RESPECT NULLS und IGNORE NULLS.
    • Beispiel zur Ermittlung des ersten und letzten Verkaufswerts eines Artikels.

Vorlesung 10

Grundbegriffe

  • Motivation
    • Hohe Leistungsanforderungen
      • Sehr große Datenmengen, vor allem Faktentabelle
      • Schnelle Antwortzeiten für Benutzer bei OLAP
      • Umfangreiche mehrdimensionale Auswahlbedingungen (Restriktionen) und Aggregationen
      • Gruppierung, Sortierung, aufwändige Berechnungen
      • (Periodische) Aktualisierung mit vielen Änderungen (ETL, Aktualisierung der DWH-Tabellen, Hilfsstrukturen, Hypercubes)
    • Scan-Operationen auf Faktentabelle i.A. nicht akzeptabel
      • Beispiel: 100 GB, Lesegeschwindigkeit 40 MB/s (Stand ca. 2002) Mehr als halbe Stunde
      • Technik-Update (2013): HDD ca. 160 MB/s, SSD ca. 510 MB/s
    • Standard-Join-Verfahren (z.B. Hash-Join) oft zu ineffizient für Star Join Einsatz von Performance-Techniken unter besonderer Berücksichtigung von DWH-Charakteristika
  • Multidimensionale Anfragetypen
    • Neben Aggregationen spielen Restriktionen (Slice and Dice) wichtige Rolle
    • Allgemeine Anfragetypen
    • Spezielle Anfragetypen

Indexstrukturen

  • (Standard-)Bitmap-Index
    • Speichert jede Ausprägung eines Attributs getrennt ab
    • Vor allem für Attribute mit geringer Kardinalität geeignet
    • Struktur: Für jede Attribut-Ausprägung Bitvektor anlegen, Länge jedes Vektors entspricht Anzahl der Tupel, i-te Bit eines Vektors wird auf 1 gesetzt i-te Tupel besitzt entsprechenden Wert
    • UND- bzw. ODER-Verknüpfungen durch entsprechende Operationen auf Bitvektoren realisierbar
    • Syntax zur Erstellung und zum Löschen
  • Mehrkomponenten-Bitmap-Index
    • Speicherung von n*m möglichen Ausprägungen durch n+m Bitmap-Vektoren
    • Beispiel zur Codierung der Monate mit m=3 und n=4
    • Bewertung: Speicheraufwand reduziert, aber bei Punktanfrage immer zwei Vektoren lesen
  • Bereichscodierter Bitmap-Index
    • Idee: In Bitvektor zu Wert w Bit auf 1 setzen, wenn der Attributwert kleiner oder gleich w ist
    • Voraussetzung: Ordnung auf indiziertem Attribut
    • Bereichsanfragen: Beidseitig begrenzter Bereich (zwei Bitvektoren, NOT und AND)
    • Bewertung: Speicherplatz fast wie bei Standard-Bitmap-Index, Bereichsanfragen effizienter, Punktanfragen nicht
  • Intervallcodierter Bitmap-Index
    • Optimierung bereichscodierter Bitmap-Indizes mit reduziertem Speicherplatzbedarf
    • Jeder Bitvektor repräsentiert Wertezugehörigkeit zu bestimmtem Intervall
    • Bewertung: Anfragen wie bei Bereichscodierung, aber etwa halber Speicherplatzbedarf
  • Kompression
    • Idee: Bitvektor besteht häufig aus „vielen Nullen, aber wenigen Einsen“
    • Verschiedene Arten der Komprimierung möglich
    • Beispiel: Lauflängencodierung (Run-Length-Encoding, RLE)
  • Bitmap bei Verbundanfragen
    • Anfrage an Sternschema (Star Query): Fakttabelle und mehrere Dimensionstabellen betroffen
    • Verbesserung durch besondere Gegebenheiten des Schemas: Fremdschlüssel in Faktentabelle mit Bitmap-Verbund-Index versehen

Materialisierung

  • Verwendung
    • Materialisierte Sichten := Abgespeichertes Ergebnis einer Sicht
    • Sehr effektive Optimierung für DWH wegen häufig ähnlicher Anfragen, Lokalität bei Auswertungen
    • Bewertung: Vorteil Beschleunigung, Nachteil Platzverbrauch, Erstellungs-/Aktualisierungskosten
  • Auswahl
    • Aggregationsgitter := Graph, der anzeigt, welche Kombinationen von Aggregationsattributen sich (in)direkt auseinander ableiten lassen
    • Optimierungs-Tradeoff: Nutzen vs. erhöhte Speicherungs- und Aktualisierungskosten
    • Statische Vorgehensweise: Kostenfunktion definieren, Workload definieren, Optimierungsproblem, heuristisches Vorgehen
    • Beispiel zum Greedy-Algorithmus
    • Dynamische Auswahl: Materialisierung von Anfrageergebnissen in reserviertem Bereich, insb. bei OLAP sinnvoll
  • Beispiel Oracle
    • Aktualisierung: Sofortige, verzögerte, Schnappschuss
    • Syntax zur Erstellung von Materialized Views und verschiedenen Optionen

Kompression

  • Kompressionsfaktor
    • Definition und Beispiel für Kompressionsfaktor
  • Wörterbuchkompression
    • Idee: Kürzel statt des Wertes speichern
    • Beispiel mit Farben
  • Kompression in Oracle
    • Komprimierung strukturierter Daten am Beispiel einer Tabelle
    • Kompressionsprozess mit leeren, anfangs unkomprimierten, teilweise komprimierten und komprimierten Blöcken
  • Untersuchungen
    • Untersuchung einer Fakttabelle mit zusammengesetztem Primärschlüssel und 10 Integer-Attributen
    • Kompressionsraten für verschiedene Datensatzmengen und Wertebereiche

Spaltenorientierte Speicherung

  • Prinzip
    • Vergleich zeilen- vs. spaltenorientierte Speicherung
  • Vorteile
    • Bessere Anfragezeit bei sehr breiten Tabellen
    • Vorbereitet zur Kompression
    • Metadaten können effizient genutzt werden
  • Verschiedene Kompressionsverfahren
    • Verschiedene (leichtgewichtige) Verfahren bekannt
    • Beispiele: Wörterbuchkompression, Lauflängencodierung, Differenzspeicherung
  • Untersuchungen
    • Metadaten: Zerlegung in Gruppen, Speicherung statistischer Informationen
    • Beispiel: MySQL-Engine Infobright
    • Kompression gegenüber MyISAM (Faktor ca. 8 im Beispiel)
    • Beispiele für den Einfluss von Datentypen, NULL-Werten und unterschiedlichen Werten auf die Kompression
    • Beispielszenario Kartenzahlung und Anfragezeitenvergleich zwischen Infobright und MyISAM