Apache Drill – SQL für alles

Die Analyse großer Datenmengen ermöglicht eine Vielzahl neuer Projekte – sofern man die nötigen Tools beherrscht. Apache Drill soll als Vermittler denjenigen helfen, die sich nicht von SQL als Abfragesprache verabschieden wollen.

Werkzeuge  –  7 Kommentare
Apache Drill ? SQL für alles !?

Big Data und NoSQL zählten in den vergangenen Jahren zu den meistgenutzten IT-Buzzwords. Mittlerweile haben sich hinter ihnen eine Vielzahl freier und kommerzieller Angebote entwickelt, die Entwicklern Antwort auf die Frage nach der Verarbeitbarkeit von immer größeren Datenmengen geben sollen. Unter dem Label Data Science sind zudem neue Jobbezeichnungen entstanden, die Berufe für Spezialisten in der Big-Data-Welt beschreiben. Das Hadoop-Ökosystem bildet in vielen Big-Data-Projekten die technische Basis für ihre Arbeit.

Die IT-Welt besteht allerdings nicht nur aus Big-Data-Spezialisten. Daneben gibt es eine deutlich höhere Zahl von Business-Analysten und Mitarbeitern der Fachbereiche, deren Interesse an der Datenflut mindestens genauso groß ist, da sie sich von einer Auswertung neue Erkenntnisse zu Kunden, Produkten und ähnlichem erhoffen. Mangels technischen Big-Data-Wissens sind die Fachbereichsmitarbeiter bei solchen Auswertungen auf ihnen bekannte BI-Tools angewiesen. Diese Werkzeuge sind in vielen Fällen mit einfachen GUIs ausgestattet, mit denen sich entweder direkt SQL-Abfragen durchführen oder Benutzeranfragen in SQL übersetzen lassen. Aus technischer Sicht spielt die Abfragesprache also eine Schlüsselrolle als Schnittstelle zwischen den Fachanwendern und den IT-Systemen.

Im NoSQL-Umfeld spiegelt sich der Konflikt besonders gut wider, der durch die Big-Data-Systeme und Entwickler auf der einen und die Bedürfnisse der Fachanwender auf der anderen Seite entstanden ist. Aus technischer Datenbanksicht haben die NoSQL-Systeme viele Verbesserungen gegenüber den klassischen relationalen Datenbanken gebracht. Erst durch sie lassen sich in vielen Projekten die immer größer werdenden Datenmengen angemessen verarbeiten. NoSQL-Datenbanken sind daher insbesondere dann eine Alternative zu relationalen Angeboten wie Oracle und DB2, wenn zentrale Features der relationalen Konkurrenten wie die ACID-Eigenschaften (Atomarität, Konsistenz, Isolation und Dauerhaftigkeit) nicht zwingend erforderlich sind. Stattdessen lässt sich von der Flexibilität bei der Datenablage in NoSQL-Datenbanken Gebrauch machen.

Bedarf an SQL

Aus Anwendersicht ist NoSQL oft nicht wünschenswert, in manchem Projekt möglicherweise sogar ein K.O.-Kriterium. In der Folge kam schnell "Not only SQL" als alternative Bezeichnung auf. Am grundlegenden Dilemma, dass SQL als Standardsprache der relationalen Datenbankwelt nicht (ausreichend) in Verbindung mit NoSQL-Datenbanken einsetzbar ist, ändert eine solche Namensänderung aber nichts.

Auch in der Big-Data-Welt stellen mangelhafte Optionen zum Einsatz von SQL ein Problem dar. Hadoop mit den diversen Tools seines Ökosystems bietet zwar viele Möglichkeiten, umfangreiche Datenströme zu verarbeiten. Sollen fachliche Anwender die Datenbestände aber mit ihren BI-Tools analysieren, ist häufig viel Vorarbeit in Form von Datenformatanpassungen und Konsolidierung in einem zentralen System nötig. Die Bedeutung von MapReduce als Abfragesprache in Hadoop-Systemen hat nicht nur wegen der Komplexität deutlich abgenommen. Auch die mangelnden Kenntnisse der Technik beziehungsweise die fehlende Bereitschaft in der IT-Welt, sich in sie einzuarbeiten, hat dabei eine wichtige Rolle gespielt.

Die Situation lässt sich mit Fremdsprachenkenntnissen im realen Leben vergleichen. Englisch als erste Fremdsprache ist in den meisten Ländern der Normalfall. Will man sein Produkt oder seine Dienstleistung weltweit anbieten, führt kein Weg daran vorbei, das Produkt in Englisch zu entwickeln, zu vermarkten und zu dokumentieren. Kann ein Unternehmen das nicht, ist ein Dolmetscher zu suchen, der dafür sorgt, dass sich das Entwickelte in englischer Sprache verwenden lässt und das Zusammenspiel mit den Produkten anderer Anbietern möglich ist. Für die Weltsprache SQL will Apache Drill die Rolle eines solchen Dolmetschers übernehmen.