Big Data und Open Data Warehouse

Wie Analytics und Data Warehousing mit Open Source gelingt

16.08.2016
Von 
Stefan Müller kommentiert Themen und Trends zu Datenintegration, Datenmanagement und Analytics. Er leitet den Bereich Big Data Analytics bei it-novum und betreut Datenprojekte bei Bundesbehörden und Unternehmen. Daneben ist er ein gefragter Autor und Referent auf Fachveranstaltungen und Workshops.
Um die wachsende Zahl an Daten verwerten zu können, gönnen sich viele Unternehmen immer neue Software und Speicherkapazitäten. Das kann eine technisch anspruchsvolle und teure Strategie sein. Lesen Sie, wie eine kostengünstige Open-Source-Alternative aussehen kann.

Wenn es darum geht, bessere unternehmerische Entscheidungen auf Grundlage geschäftskritischer Daten zu treffen, ist Data Warehousing nach wie vor das bestimmende Datenhaltungskonzept vieler Unternehmen. Allerdings macht die zunehmende Datenflut die Integration heterogener Datenquellen in einem abgestimmten Datenpool zu einer technisch anspruchsvollen Aufgabe. Außerdem ist der Aufbau eines Data Warehouse häufig mit hohen Lizenz- und Hardwarekosten verbunden. Für Unternehmen, die lieber in Software-Anpassungen investieren als in weitere Hardware und neue Software-Lizenzen, stellen praxiserprobte Open Source-Lösungen daher eine echte Alternative dar.

Aufbau und Betrieb eines Data Warehouse zur Datenanalyse können gerade für kleine und mittelständische Unternehmen schnell teuer werden.
Aufbau und Betrieb eines Data Warehouse zur Datenanalyse können gerade für kleine und mittelständische Unternehmen schnell teuer werden.
Foto: Luna2631 - www.shutterstock.com

Data Warehouse: Datenlager mit 5-Schichten-Architektur

Ein Data Warehouse System besteht aus fünf Ebenen: Datenquelle, Datenerfassung, Datenhaltung, Datenanalyse und Datenpräsentation. Ein Data Warehouse führt Daten über Extraktions-, Transformations- und Ladeprozesse (ETL) automatisiert zusammen und bereitet sie auf. Am Konzept hat sich bis heute nicht viel geändert: Data Warehouses stellen die zentrale Datenbasis für alle Analysen und Berichte dar, mit denen das Unternehmen gesteuert werden kann. Das Data Warehouse-System des hier vorgestellten Prototyps besitzt die in der untenstehenden Abbildung dargestellte Struktur.

Das Datenmodell besteht aus mehr als 70 Tabellen, aufgeteilt in fünf Unternehmensbereiche. In seiner Komplexität entspricht dies den Datenbankstrukturen realer Unternehmen und eignet sich daher gut für Demonstrationszwecke. Der ETL-Prozess auf der Ebene der Datenerfassung wird mit Pentaho Data Integration realisiert. Das Werkzeug ist Teil der Open Source Lösung Pentaho Business Analytics Suite, die in diesem Beispiel auch für die Datenanalyse und Datenpräsentation verwendet wird. Das eigentliche Data Warehouse innerhalb der Datenhaltung wird mit dem analytischen Datenbankmanagementsystem (DBMS) Infobright abgebildet. Als OLAP-Engine kommt Pentaho Mondrian zum Einsatz. Das notwendige XML-Schema wird mit der Pentaho Schema-Workbench erzeugt. Sind diese Komponenten umgesetzt, können die Daten auf der Datenpräsentationsebene durch verschiedene Tools von Pentaho in Form von Analysen, Dashboards und Reports aufbereitet werden.

Beispielarchitektur des Open Source Data Warehouse
Beispielarchitektur des Open Source Data Warehouse
Foto: it-novum GmbH

Datenerfassung mit Pentaho Data Integration

Angesichts der immer weiteren Verwendung von Datenanalysen im Unternehmen muss ein modernes Data Warehouse auf Basis operativer Daten auch performante Ad-hoc-Analysen für unterschiedliche Fachanwender unterstützen. Mit Pentaho Data Integration lassen sich leistungsstarke (ETL-) Ressourcen extrahieren, transformieren und laden sowie eine intuitive grafische Entwicklungsumgebung und eine offene und auf Standards basierende Architektur erstellen. Auf diese Weise können auch Nicht-Programmierer mit geringem Aufwand professionelle ETL-Routinen und -Jobs aufbauen.

Im Rahmen des Prototyps "Open Source Data Warehouse" sollen Vertriebsdaten ausgewertet werden. Zur Erinnerung: das genutzte Datenmodell besteht aus einer OLTP-Datenbank mit mehr als 70 Tabellen. Insgesamt sollen fünf Dimensionen in Bezug auf die OLTP-Datenbank erstellt werden, und zwar Datum, Kunde, Produkt, Vertriebsweg und Währung. Bevor mit dem Befüllen des Data Warehouse begonnen werden kann, müssen die Datenverbindungen zwischen Datenquelle und dem Data Warehouse definiert werden: entscheidend sind die Auswahl der richtigen Datenbank, der Einsatz des richtigen Treibers sowie benutzerspezifische Einstellungen.

Spaltenorientierte Datenhaltung für Ad-hoc-Analysen

Im Gegensatz zu klassischen relationalen Datenbanken arbeiten analytische Systeme spaltenorientiert - und bieten dadurch auch bei großen Datenbeständen eine hohe Abfragegeschwindigkeit.

Je nachdem, welche Art von Daten gespeichert und verarbeitet werden sollen, lassen sich auf Ebene der Datenhaltung verschiedene Typen von Datenbanken einbinden. In unserem Beispiel "Open Source Data Warehouse" haben wir die Datenhaltung mit der analytischen Datenbank Infobright realisiert.

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

Klassische relationale 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 mit Infobright 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 werden die Daten außerdem sehr eng verdichtet: Die Packalgorithmen berücksichtigen wiederkehrende Strukturen und Datentypen der abzulegenden Daten und optimieren Kompression und Adressierung.

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.

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 Möglichkeiten, unter anderem Lookup Columns und Domain Expert. 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.

Datenanalyse und Präsentation

Die Datenpräsentation bildet die Schnittstelle zwischen System und Anwender. Mit grafischen Tools sind auch Anwender ohne Programmierkenntnisse in der Lage, Daten aus dem Data Warehouse aufzubereiten und zu visualisieren.

In jedem Unternehmen gibt es unterschiedlichste Business-Intelligence-Anwender. Manager benötigen in der Regel möglichst einfach gehaltene Dashboards, die Zusammenhänge und Trends auf einen Blick sichtbar machen. Business-Analysten wollen eigene Auswertungen erstellen, die bis zur untersten Belegebene reichen. Und mobile Mitarbeiter brauchen Informationen in knappen, Smartphone oder Tablet-tauglichen Formaten. Eine der führenden Open Source-Plattformen für Datenintegration, -analyse und -visualisierung ist Pentaho. Mithilfe der webbasierten Benutzeroberfläche Pentaho haben Anwender einen direkten Point-and-Click-Zugriff auf alle relevanten Daten von Excel bis Hadoop.

Datenaggregation in Mondrian

Innerhalb der Prototypenarchitektur wird die Analyseebene mit der Java-basierten OLAP-Engine Mondrian umgesetzt. Mondrian ist in der Lage, die Schnittpunkte verschiedener Dimensionen zu finden, zum Beispiel alle Fahrräder eines Typs, die in einer Region für einen bestimmten Preis in einem bestimmten Zeitraum verkauft wurden. Dazu liest Mondrian einfach die entsprechende Spalte aus der Datenbank Infobright sequenziell aus - das funktioniert extrem schnell, weil während der Suche nicht zwischen Zeilen gesprungen werden muss. Mondrian verfolgt einen relationalen Ansatz (ROLAP), eine Variation des Online Analytical Processing. Das Tool transformiert mehrdimensionale Abfragen (Multidimensional Expressions, MDX) auf Basis eines Datenwürfels in mehrere SQL-Abfragen. Zusätzlich verwendet Mondrian die von Pentaho bereitgestellte Schema-Workbench, mit der sich das XML-Schema visuell erzeugen lässt. Durch die direkte Verbindung zur Datenbank lassen sich Attribute per Drop-Down-Funktion im Mondrian-Schema hinterlegen.

Datenanalyse und Reporting mit Pentaho Analysis

Für den Prototyp des Open Source Data Warehouse kommen die Module Pentaho Analysis und Analysis Report zum Einsatz. Nachdem alle relevanten Daten und Kennzahlen in einem Mondrian-Schema hinterlegt und zu OLAP-Würfeln zusammengefasst sind, geht es an die Analyse. Hierfür verwendet Pentaho den Analyzer - ein Tool zur Visualisierung und Auswertung von Daten. Das Reporting-Modul bietet grafische Drag&Drop-Oberflächen, die einem breiten Anwenderkreis das Analysieren und Berichten ihrer Kennzahlen ermöglichen. Attribute und Kennzahlen lassen sich frei kombinieren, wodurch der Nutzer je nach Bedarf verschiedene Sichten auf die Daten erzeugen kann. Mithilfe verschiedener Filterfunktionen kann der Nutzer das Analyseergebnis gezielt nach bestimmten Kriterien einschränken. Mit den Modulen lassen sich außerdem interaktive Berichte und Dashboards erstellen und Daten über mehrere Dimensionen hinweg analysieren und visualisieren, ohne dabei auf die IT oder Entwickler angewiesen zu sein.

Open Source - nicht nur für kleine Unternehmen interessant

Es gibt inzwischen eine Vielzahl praxiserprobter Open-Source-Tools für Datenanalysen und Big-Data-Szenarien. Sie eignen sich besonders für kleine und mittelständische Unternehmen, denn die meisten Lösungen großer Softwarehersteller werden schnell zu mächtig und teuer im Betrieb. Von der offenen Architektur, den Schnittstellen und der Flexibilität, die ein Data Warehouse auf Basis von Open Source mitbringt, können aber auch große Anwenderunternehmen profitieren.