Die neue Realität: Erweiterung des Data Warehouse um Hadoop, NoSQL & Co Teil 2: Analytische Datenbanken & NoSQL

1

Quelle: Tagxedo CreatorDer vorangegangene Beitrag dieser Serie hat die Grenzen herkömmlicher Data Warehouses aufgezeigt. Dieser Beitrag beleuchtet nun zwei technologische Ansätze, die entwickelt wurden, um diese Beschränkungen zu überwinden: analytische Datenbanken und NoSQL-Datenbanken.

Neue Mitspieler: analytische Datenbanken
Analytische Datenbanken sind eine vergleichsweise einfache und schnell umsetzbare Erweiterung des Data Warehouse. Es sind Datenbanksysteme, die zwar auch auf relationalen Datenbanksystemen (RDBMS) aufbauen, aber für schnelle Abfragen optimiert sind und sich damit besonders für analytische Anwendungen eignen. Auch sehr große Datenbestände lassen sich mithilfe von analytischen Datenbanken per SQL oder mit anwenderfreundlichen BI-Werkzeugen analysieren – selbst von Analysten und Controllern ohne großes IT-Know-how. Typische Vertreter sind InfiniDB, Infobright, Vertica oder Vectorwise.

Analytische Datenbanken nutzen verschiedene Technologien, um die Datenverarbeitung zu beschleunigen. Dazu gehören:

  • Spaltenorientierung
  • Massive parallele Verarbeitung (MPP)
  • Datenkompression
  • In-Memory Speicherung.

Dadurch eröffnen sich eine Reihe von Möglichkeiten:

  • Nutzung von Daten, deren Speicherung normalerweise zu teuer und deren Verarbeitung zu langwierig wäre
  • Nutzung von SQL als leistungsfähige, weitverbreitete Abfragesprache
  • Kompatibilität mit einer Vielzahl von Business Intelligence(BI)-Frontends
  • Vergleichsweise schnell zu implementieren und einfach zu administrieren
  • Keine besonderen Ansprüche an komplexe Hardware-Architekturen

Analytische Datenbanken können leicht als Ergänzung zum Data Warehouse eingesetzt werden, indem damit unabhängige Data Marts aufgebaut werden. Die Daten beziehen diese themen- oder organisationspezifischen Data Marts direkt aus den operativen Quellen. Durch die Datenduplizierung zwischen Data Marts entsteht dabei allerdings die Gefahr von Konsistenzproblemen. Außerdem wächst der Aufwand proportional zur Anzahl der Data Marts. Alternativ können Data Marts auch aus dem Data Warehouse gespeist werden. Da sie dabei auf die integrative Schicht des Data Warehouse zugreifen, bleiben dessen Vorteile erhalten. Allerdings erfordert diese Lösung einen höheren Aufwand für Modellierung und Entwicklung.

Erweiterung um NoSQL-Datenbanken
NoSQL steht für „Not only SQL“. Datenbanken dieser Kategorie sind Open Source, horizontal skalierbar, schemafrei, verteilt und verfügen über ein nicht-relationales Modell. Damit vermeiden NoSQL-Datenbanken einige Schwächen relationaler Datenbanken, etwa bezüglich Skalierbarkeit und Performance. Große Datenmengen lassen sich durch das Hinzufügen weiterer Server vergleichsweise kostengünstig verarbeiten und zur Steigerung der Ausfallsicherheit können die Daten auf mehrere Server repliziert werden. NoSQL-Datenbanken sind zudem offener für Erweiterungen des Schemas und bieten durch einfachere Schemen mehr Agilität und Flexibilität bei der Anpassung und Erweiterung. Typische Anbieter in dieser Kategorie sind z.B. MongoDB, Cassandra, Neo4J oder CouchDB.

NoSQL-Datenbanken unterteilt man in die folgenden Kategorien:

  • Core-NoSQL
  • Spaltenorientierte Datenbanken
  • Dokumentenorientierte Datenbanken
  • Key/Value-basierende Datenbanken
  • Grafenorientierte Datenbanken
  • Soft-NoSQL
  • Objekt-Datenbanken
  • XML-Datenbanken
  • Grid-Datenbanken

Die Nutzung von NoSQL bietet folgende Vorteile:

  • Scale-out: kostengünstige, horizontale Skalierung
  • Hochperformante Datenbanken für Realtime-Applikationen
  • Schnelle und einfache Anpassung des Datenbankschemas
  • Hohe Agilität für explorative Entwicklungen im Big Data-Umfeld
  • Speicherung von wenig strukturierten Daten möglich

NoSQL-Systeme bieten vielseitige Lösungsansätze für Big Data. Ein Problem ist allerdings der Mangel an Abfragesprachen, die allesamt nicht an die Möglichkeiten von SQL heranreichen. Daten werden in NoSQL-Datenbanken so abgelegt, wie sie die Applikationen benötigen, was eine mächtige Abfragesprache überflüssig macht. BI-Anwendungen sind aber von SQL abhängig. NoSQL-Datenbanken lassen sich deshalb auf zwei Wegen sinnvoll einsetzen: Einige moderne BI-Anwendungen ermöglichen bereits in Ansätzen, über entsprechende Schnittstellen Berichte direkt aus der Datenbank zu erstellen. Ihr voller Funktionsumfang lässt sich so aktuell aber nicht nutzen. Alternativ führt der Weg über das Data Warehouse. Dabei werden die Vorteile von NoSQL in den Applikationsdatenbanken genutzt, während für Analysen die Daten in das Data Warehouse geladen werden, wo die relationalen Datenbanken ihre Stärken ausspielen.

Jenseits von analytischen Datenbanken und NoSQL bietet Hadoop weitere interessante Möglichkeiten im Umgang mit Big Data. Damit wird sich der nächste Beitrag dieser Blogserie beschäftigen. Schauen Sie also wieder rein.

Die anderen Teile der Blogserie finden Sie hier:

Tags: , , , ,

Stefan Müller - Director Business Intelligence & Big Data
Nach mehreren Jahren Tätigkeit im Bereich Governance & Controlling und Sourcing Management ist Stefan Müller bei it-novum gelandet, wo er den Bereich Business Intelligence aufgebaut und in Richtung Big Data weiterentwickelt hat. Stefans Herz schlägt für die Möglichkeiten, die die BI-Suiten von Pentaho und Jedox bieten, er beschäftigt sich aber auch mit anderen Open Source BI-Lösungen. Seine Begeisterung für Business Open Source im Bereich Datenintelligenz gibt Stefan regelmäßig in Fachartikeln, Statements und Vorträgen weiter.
Webprofile von Stefan: Twitter, LinkedIn, XING

Ein Gedanke zu „Die neue Realität: Erweiterung des Data Warehouse um Hadoop, NoSQL & Co Teil 2: Analytische Datenbanken & NoSQL

  1. Pingback: Apache Hive – das Data Warehouse für Hadoop

Kommentar schreiben

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.