Neues Apache-Projekt soll Big-Data-Verarbeitung beschleunigen
Der Hadoop-Distributeur MapR hat mit Drill eine Implementierung von Googles Dremel-Konzept zur Beschleunigung der Verarbeitung groĂźer Datenmengen in die Apache-Community eingebracht.
- Harald M. Genauck
Große Datenbestände für Analysezwecke oder für einzelne anwenderbezogene Abfragen anzuzapfen ist kein leichtes Unterfangen. Vor allem dann nicht, wenn es sich um wirklich große, also riesige Datenbestände handelt, für die sich mittlerweile im Fachenglischen der Begriff "big data" eingebürgert hat. Derartige Datenmengen, die sich mindestens im höheren Terabyte-Bereich, wenn nicht gar im Petabyte-Bereich bewegen und unter Umständen über Tausende von Datenservern verstreut sein können, fallen etwa bei großen E-Commerce-Betreibern, im Social-Media-Umfeld oder bei Suchmaschinen an.
Google beispielsweise setzt teilweise auf Apache Hadoop für das Management der Datenbestände und auf MapReduce zu deren Analyse. MapReduce arbeitet allerdings stapelorientiert und geht dementsprechend vergleichsweise gemächlich zur Sache. Zur Beschleunigung hat man sich daher bei Google schon längst einige Gedanken gemacht und bereits 2006 als Ergänzung zu MapReduce das Analysewerkzeug Dremel entwickelt, ein skalierbares und interaktives Ad-Hoc-Abfragesystem für große und verschachtelte Datenmengen. Während Tausende Google-Mitarbeiter Dremel nutzen können, ist der Öffentlichkeit lediglich das Konzept als Whitepaper zugänglich.
Vom Dremel-Konzept inspiriert haben sich daher Mitarbeiter von MapR, einem Anbieter einer kommerziellen Hadoop-Variante, daran gegeben, diese Idee im Rahmen eines Open-Source-Projekts umzusetzen. KĂĽrzlich ist das Vorhaben als Projekt Drill unter das Dach des Apache-Inkubators geschlĂĽpft, auch mit der Absicht, Synergie-Effekte mit anderen Projekten in der Apache-Community zu erzielen. Hadoop beispielsweise ist ebenfalls dort angesiedelt.
Ebenso wie Googles Dremel soll auch die Drill-Technik weder MapReduce noch Hadoop ersetzen, sondern im Verbund mit diesen ein System etablieren, das den AusstoĂź der Batch-Prozesse und ihrer Pipelines analysieren oder dazu verwendet werden kann, schnell umfangreiche Berechnungen zu entwerfen.
Drill besteht aus einem Abfrage-Layer (mit Abfragesprache, Parser und Ausführungsplaner), einer Ausführungs-Engine für die Abfragepläne, geschachtelten Datenformaten zur Datenablage und einem skalierbaren Datenquellen-Layer. Der Schwerpunkt des Abfrage-Layers wird auf der Drill-eigenen Abfragesprache DrQL liegen. Der Datenquellen-Layer wird zunächst auf Hadoop aufsetzen, also dort die Daten ablegen und Hadoops Dateisystem und HBase samt deren Datenformate nutzen. Erwogen wird auch, das Apache-Hive-Projekt als Basis für DrQL zu verwenden. (ane)