Spaltenorientierte Datenhaltung im Data Warehouse (OSS)

Inhalt
OLAP-Systeme laufen schneller mit spaltenorientierten Datenbanken
OLAP-Systeme laufen schneller mit spaltenorientierten Datenbanken wie Infobright

Je nachdem, welche Art von Daten gespeichert und verarbeitet werden soll, lassen sich auf Ebene der Datenhaltung verschiedene Datenbanken einbinden. Generell wird zwischen relationalen und nicht-relationalen Systemen unterschieden. In unserem Best Practice „Open Source Data Warehouse“ haben wir die Datenhaltung mit der analytischen Datenbank Infobright realisiert. Im Gegensatz zu klassischen relationalen Datenbanken arbeitet Infobright spaltenorientiert – und bietet dadurch auch bei großen Datenbeständen eine hohe Abfragegeschwindigkeit.

Hohe Performance bei komplexen Abfragen

Infobright basiert auf SQL und ist deshalb mit einer Vielzahl der von MySQL bekannten Werkzeuge kompatibel. Darüber hinaus bietet Infobright eine deutlich bessere Performance im Umgang mit großen Datenmengen. Das Herzstück von Infobright ist die Brighthouse-Engine, jene Komponente, die für das physische Abspeichern und Lesen der Daten zuständig ist. Die Brighthouse-Engine wurde speziell für die optimierte Verarbeitung komplexer Ad-hoc-Queries in großen Data Warehouses entwickelt: Die Daten werden in Spalten gespeichert und aus Spalten gelesen, statt wie bei klassischen Datenbanken in Zeilen.

Kompression und schlanke Struktur

Herkömmliche BI-Datenbanken erreichen eine bessere Performance oft nur durch Server-Cluster und Tuning bzw. Indizierung. Dadurch steigen die Betriebskosten, außerdem muss jede Abfrage durch Indices beschleunigt werden. Die spaltenorientierte Datenverwaltung reduziert hingegen den Disk- I/O-Aufwand erheblich. Auf Indices kann verzichtet werden, denn die Inhalte der Spalten werden über eine schlanke Metadatenschicht, das Knowledge Grid, verwaltet. Durch intelligentes Packen der Daten erfolgt eine hohe Verdichtung: Die Packalgorithmen berücksichtigen wiederkehrende Strukturen und Datentypen der abzulegenden Daten und optimieren Kompression und Adressierung.

Komfortable Installation

Installation und Integration von Infobright sind dank eines hohen Automatisierungsgrads sehr komfortabel. Große Teile der Konfiguration und der manuellen Anpassung einschließlich der Indizierung entfallen, denn die notwendigen Anpassungen nimmt das System eigenständig vor. Die Konfigurationsdateien my-ib.ini und brighthouse.ini befinden sich im Installationsverzeichnis.

Optimierung der Performance

Die ohnehin schon hohe Performance und Kompressionsrate von Infobright lässt sich noch steigern – das ist zum Beispiel bei Daten vom Typ Char / Varchar wichtig: sie schwächen die Leistung des Systems und erhöhen den Speicherbedarf signifikant. Infobright bietet hier verschiedene Lösungsansätze, u.a. Lookup Columns und Domain Expert. Beide kommen auch innerhalb unseres Prototyps zum Einsatz.

  • Lookup Columns:
    Das Prinzip von Lookup Columns ähnelt einem Glossar: Innerhalb einer Spalte werden alle Werte in entsprechende Indices vom Typ Integer transformiert. Ein parallel erzeugtes Verzeichnis speichert die Indizes und die dazugehörigen Char- / Varchar-Werte. Gleiche Begriffe werden dabei durch den gleichen Index repräsentiert. Durch das Erstellen einer Nachschlagespalte wird die Performance erhöht und gleichzeitig der Speicherbedarf der Datenbank gesenkt.
  • Domain Expert:
    Diese Technologie ermöglicht es, die Struktur eines Attributs in Form einer Regel abzubilden. Das verbessert nachhaltig die Art und Weise, wie Daten verarbeitet, gespeichert und abgerufen werden. Allerdings lässt sich Domain Expert nur bei Spalten einsetzten, deren Werte ein bestimmtes Muster aufweisen, z.B. IP-Adressen (Number.Number.Number.Number) oder E-Mail-Adressen (String@String.String).

Pro Spalte lässt sich immer nur ein Verfahren anwenden, wobei Lookups in der Regel zu bevorzugen sind. Beim Erstellen von Lookup Columns spielt die Kardinalität eine entscheidende Rolle: Ihr Einsatz lohnt sich bis zu einem Verhältnis von 10 zu 1, was bedeutet, dass bei einer Spalte mit 100.000 Werten maximal 10.000 verschiedene Ausprägungen existieren können. Domain Expert bietet sich als Alternative an, wenn die Spalte ein festes Muster hoher Kardinalität aufweist.

 

Diese Artikel könnten Sie auch interessieren: