Open-Source-BI

Ohne Risiko zu Ad-hoc-Abfragen

28.10.2011 von Patrick Schulte-Middelich und Georg Peters
Das Open-Source-Projekt "Infobright" soll die Schwächen von Data-Warehouse-Lösungen in Sachen komplexer Ad-hoc-Queries lösen.

Viele Unternehmen haben erkannt, dass es wesentlich zum Erfolg beiträgt, wenn sich aus den immer größeren Datenmengen Wissen generieren lässt. Daher stehen Data-Warehouse-Lösungen auf der Prioritätenliste der meisten CIOs ganz oben. Eine zentrale Herausforderung dabei ist jedoch, dass klassische Data-Warehouse-Lösungen vor allem zur Unterstützung von Standardabfragen optimiert sind, nicht jedoch für die immer wichtigere Bearbeitung von Ad-hoc-Abfragen.

Zudem haben die in Data Warehouses gespeicherten Daten über die letzten Jahre signifikant zugenommen, ohne dass die I/O-Transferraten wesentlich verbessert wurden, was letztlich zu stetigen Performance-Einbußen geführt hat. Herkömmliche Data-Warehouse-Lösungen versuchen dagegen anzugehen, indem sie ihre Performance beispielsweise durch die Verwendung von Indizes, optimierten Datenbank-Schemata und anderen Verfahren verbessern. Das ist zwar sehr effektiv, setzt aber voraus, dass bereits im Vorfeld bekannt sein muss, welche Anfragen an die Datenbank gestellt werden. Somit sind die in einem dynamischen Wirtschaftsumfeld immer wichtigeren Ad-hoc-Queries eine große Herausforderung für Data-Warehouse-Techniken.

Eine Lösung soll hier die Infobright Community Edition (ICE) bieten, die für eine optimierte Abarbeitung von Ad-hoc-Abfragen in großen Data Warehouses (mittlerer Terabyte-Bereich) konzipiert ist.

Infobright-Einsatzgebiete

Die Drei-Schichten-Architektur von ICE

Doch bevor es in die technischen Details von ICE geht, hier noch ein kurzer Hinweis auf die Einsatzgebiete. Im Allgemeinen sind die Bereiche, in denen Data Warehouses eingesetzt werden, zu unterschiedlich, als dass es eine optimale Lösung geben könnte, die allen Anforderungen gleich gut gerecht wird. Ist einem Unternehmen sehr genau bekannt, welche Anfragen es an seine BI-Lösung stellen wird, oder plant es Echtzeit-Data-Warehousing, sind herkömmliche Data-Warehouse-Plattformen häufig die bessere Wahl, da Techniken wie zum Beispiel Indizes, die lange in der Praxis optimiert wurden, die Anfragen in der Regel effizienter bearbeiten können.

Das hier vorgestellte Projekt ist insbesondere für komplexe analytische Ad-hoc-Anfragen ausgelegt und sollte auch vorrangig für entsprechende Anfragen eingesetzt werden. Die Problemlösung wird im Wesentlichen durch zwei Techniken erreicht: zum einen durch eine spaltenorientierte Datenbank und zum anderen durch Rough Sets zur Abarbeitung von Anfragen.

Infobright nutzt Spaltenorientierung

Mit der Spaltenorientierung greift die ICE-Technik einen aktuellen Trend im Bereich Data Warehousing auf. In einer spaltenorientierten Datenbank werden die Daten in Spalten gespeichert und aus Spalten gelesen statt wie bei klassischen Datenbanken in Zeilen. Diese Art des Speicherns bringt wesentliche Vorteile in Bezug auf die Verringerung von I/O-Operationen mit sich und damit eine Verbesserung der Performance. Während beim Verarbeiten einer Transaktion gewöhnlich eine Zeile eingefügt, manipuliert oder gelöscht wird, werden zur Abarbeitung einer Anfrage in der Regel Daten aus mehreren Tabellen nach bestimmten Kriterien benötigt. Diese Kriterien sind in aller Regel Spalten wie zum Beispiel die Anfrage nach "allen männlichen Mitarbeitern unter 40". Die Spalten wären hier: Name, Geschlecht und Alter. Spaltenorientierte Datenbanken machen sich also zunutze, dass Anfragen gewöhnlich spaltenbasierend ablaufen.

Der zweite große Vorteil entsteht durch die Kompression, da es möglich ist, für jede Spalte beziehungsweise jeden Datentyp einen optimalen Kompressionsalgorithmus zu verwenden. Sind Daten höher komprimiert, können mehr Daten mit einer einzelnen I/O-Operation von der Platte in den Speicher eingelesen werden, wodurch proportional zur Kompressionsrate weniger I/O-Operationen benötigt werden. Ein weiterer Vorteil ist, dass keine physikalischen Datenmodelle wie zum Beispiel das Star-Schema mehr benötigt werden.

Rough Sets in Infobright

Als zweite Optimierungstechnik nutzt ICE so genannte Rough Sets, die sich dadurch auszeichnen, dass Klassen durch zwei Approximationen beschrieben werden. Objekte, die einer "Lower Approximation" zugeordnet werden, sind sichere Mitglieder der korrespondierenden Klasse. Hingegen ist die tatsächliche Mitgliedschaft von Objekten in einer "Upper Approximation" ohne weitere Informationen nicht offensichtlich. Somit kann man Objekte in sichere und unsichere Kandidaten bezüglich vorgegebener Eigenschaftsklassen aufteilen.

In der ICE werden Rough Sets instrumentalisiert, um aus gegebenen Informationen die Daten, die für die Abarbeitung einer Anfrage benötigt werden, von den irrelevanten zu trennen. In der Rough-Set-Terminologie werden die sicheren Objekte den Lower- Approximationen der Klassen {benötige Objekte} beziehungsweise {irrelevante Objekte} zugeordnet. Weiterhin werden unsichere Objekte den Upper-Approximationen beider Klassen zugeordnet. Technisch erfolgt das in ICE dadurch, dass die Daten in Pakete aufgeteilt werden, die automatisch mit einer Reihe von Eigenschaften, so zum Beispiel maximaler Wert in einem Datenpaket, gekennzeichnet sind. Aufgrund dieser Kennzeichnung wird bei einer Anfrage automatisch erkannt, welche Datenpakete benötigt werden beziehungsweise irrelevant sind oder welche näher untersucht werden müssen. Durch diese Vorklassifikation lassen sich die Abfragen erheblich zielgerichteter und damit effizienter vornehmen als mit klassischen Verfahren.

ICE-Architektur

ICE beruht auf einer Drei-Schichten-Architektur. In der untersten Schicht befinden sich so genannte Data Packs, darüber liegt das Knowledge Grid und in der obersten Schicht der Optimizer.

Die Daten der einzelnen Spalten werden in Data Packs von jeweils 65.536 Einträgen zusammengefasst. Zu jedem Data Pack werden beim Data Load im Rahmen des Knowledge Grid automatisch Data Pack Nodes und Knowledge Nodes erstellt, in denen statistische Informationen über die Daten wie minimaler und maximaler Wert oder Metadaten wie Beziehungen zwischen Spalten festgehalten sind. Es sind also immer Informationen über alle Daten in der Datenbank enthalten. Der Optimizer, die höchste Ebene der Architektur, arbeitet die Anfragen ab und entpackt anhand der Daten im Knowledge Grid nur die Daten, die zur Abarbeitung tatsächlich benötigt werden.

Infobright ist eingebunden in die Architektur von MySQL.

Der Optimizer unterteilt die Datenpakete anhand der Daten im Knowledge Grid in drei Kategorien: relevante (jeder Wert wird benötigt), irrelevante (kein Wert wird benötigt) und suspekte (ein Teil der Werte wird eventuell benötigt) Pakete. Dieser Prozess findet iterativ statt, bis am Ende nur noch tatsächlich benötigte Pakete dekomprimiert werden.

Das Knowlegde Grid sowie der Optimizer und ein spezieller Data Loader sind voll in die Architektur der Open-Source-Datenbank MySQL integriert. Infobright setzt dabei auf bewährte MySQL-Features wie einschlägige Schnittstellen (C, JDBC, ODBC, .NET, Perl und andere) sowie Katalogfunktionen wie Tabellendefinitionen, Views oder Zugriffsberechtigungen. Dadurch, dass nur einzelne Komponenten ausgetauscht wurden, ist sichergestellt, dass zum einen die ICE-Technik effizient in eine bereits bestehende IT-Infrastruktur integriert werden kann, zum anderen in der Regel keine allzu großen Umstellungen auf die Datenbankadministratoren zukommen.

Zusammenfassung

Die vorgestellte Data-Warehouse-Technik verbessert mit Hilfe von Rough Sets das spaltenorientierte Datenbankkonzept und ist speziell auf komplexe analytische Ad-hoc-Anfragen optimiert. In diesem Bereich lassen sich enorme Performance-Gewinne erzielen. Als Open-Source-Projekt lässt sich mit ICE zudem relativ risikolos evaluieren, ob die Verwendung des Verfahrens für die vorgesehene Anwendung geeignet ist.