Schemafreie SQL-Abfragen für Hadoop und NoSQL Big Data mit Apache Drill
Das Thema Informationsgewinnung und Abfragen in Big-Data-Lösungen ist nicht immer einfach. Unternehmen sollten hier einen Blick auf die Open-Source-Lösung Apache Drill werfen.
Anbieter zum Thema

Apache Drill erweitert Hadoop-Umgebungen und NoSQL-Datenbanken um die Möglichkeit, SQL-Abfragen zu erstellen. Grundlage von Drill ist das Google-Produkt Dremel, welches Daten mit hoher Geschwindigkeit aus schemafreien SQL-Datenbanken abfragen kann. Im Fokus der Google-Lösung stehen Echtzeit-Abfragen und Ad-hoc-Berichte in BI- oder Big-Data-Umgebungen.
Drill ist vollständig kompatibel mit ANSI SQL und es sind keine Schemas in den Datenbanken notwendig, was bei NoSQL-Datenbanken die Regel ist. Apache Drill lässt sich parallel zu SQL und BI Tools einsetzen und unterstützt auch JDBC und ODBC.
Das Projekt gehört mittlerweile zu den Top-Level-Projekten von Apache, wird also als weit gehend stabil und fehlerfrei angesehen. Dem Einsatz in produktiven Umgebungen steht nichts entgegen. Drill kann, wie auch Hadoop, auf riesige Datenmengen im Petabyte-Bereich zugreifen, die auf tausende Clusterknoten verteilt vorliegen können. Die Leistung soll dabei nicht einbrechen.
Der bekannte Hadoop-Distributor MapR hat im vergangenen Jahr über 100 Millionen US-Dollar Risikokapital eingesammelt, um die Projekte Hadoop, Spark und Drill enger miteinander zu verzahnen. An der Technologie arbeitet daher nicht nur die sehr aktive Community, sondern auch potente Unternehmen, die sich in diesem Bereich bereits einen Namen gemacht haben. Zu den Geldgebern gehört unter anderem auch Google. MapR will Apache Drill zum Abfrage-Standard für Hadoop machen.
Einstieg in Apache Drill
Apache Drill ist in der Lage, einfache Analysen und Abfragen durchzuführen, kann aber auch in Batch-Prozessen und Pipelines eingebunden werden, wenn es um komplexere Berechnungen geht. Die Abfrage-Sprache wird auch als DrQL bezeichnet. Vorteil der Lösung ist die Unterstützung von SQL-gängigen Abfragen. Das heißt, Entwickler können sich sehr schnell in das Produkt einarbeiten und erhalten schnell zuverlässige Abfragen.
Als Datenspeicher kann Drill direkt an Hadoop angebunden werden und unterstützt in dieser Hinsicht auch das Hadoop File System (HDFS), aber auch HBase wird unterstützt. In Zukunft soll Apache Drill enger mit Apache Spark zusammenarbeiten. Da Spark im Grunde genommen der Nachfolger von MapReduce ist, wird diese Technik in immer mehr Big-Data-Infrastrukturen eingesetzt. Neben NoSQL lassen sich auch andere NoSQL-Datenbanken abfragen, zum Beispiel MongoDB. Drill unterstützt, im Gegensatz zu seinem Quell-Produkt Dremel, dabei sowohl spalten- als auch zeilenbasierte Formate.
Schnellere Datenanalyse
Drill soll vor allem dabei helfen, Abfragen und Informationen schneller zu erhalten als mit Bordmitteln über MapReduce. Zusammen mit Apache Spark kann Drill sogar noch schnellere Informationen liefern. Durch die Möglichkeit, Daten wie Parquet, JSON und HBase-Tabellen nutzen zu können und auch noch Direktabfragen zu bieten, ohne dass Schemas definiert werden müssen, eignet sich das System für schnelle Datenanalysen.
Durch die Zusammenarbeit mit verschiedenen Speichertreibern und SQL-Datenbanken oder BI-Tools eignet sich Drill auch hervorragend als Schnittstelle zwischen herkömmlichen Speichersystemen, Business-Intelligence-Lösungen und Big-Data-Infrastrukturen.
Entwicklungen 2015 – Zugriffskontrolle und mehr Datenquellen
Bereits dieses Jahr wollen die Entwickler noch mehr Datenquellen an Drill anbinden können. Geplant sind die Unterstützung von Cassandra und Solr sowie mehr Möglichkeiten mit JDBC. Auf diesem Weg sollen sich alle Datenbank-Server anbinden lassen, auch MySQL, Oracle, und Microsoft SQL-Server. Außerdem soll die Zugriffskontrolle flexibler gestaltet werden können und die SQL-Abfragen sollen erweitert werden. Die Geschwindigkeit soll gesteigert werden und die Integration in Apache Spark soll weiter vorangetrieben werden. Die Entwickler wollen es ermöglichen, dass Anwender mit Drill direkte Abfragen in Spark durchführen können. Das erlaubt es, dass BI-Tools wie Microstrategy, Spotfire oder Tableau angebunden werden können, ohne weitere Werkzeuge verwenden zu müssen.
Mit verbesserter Zugriffskontrolle sollen Unternehmen den Anwendern im Unternehmen Schnittstellen zu Drill zur Verfügung stellen, die das Zugreifen auf die Daten in der Big-Data-Infrastruktur erleichtert. Das soll Entwickler und Administratoren entlasten. Dazu ist es aber notwendig, dass durch Sicherheitsmechanismen auch festgelegt werden kann, welche Benutzer und Gruppen auf die einzelnen Daten zugreifen dürfen. Erstellen Benutzer zum Beispiel einen virtuellen Datensatz (CREATE VIEW vd AS SELECT) um Informationen mit anderen Benutzern zu teilen, soll sich das besser steuern lassen. Der virtuelle Datensatz wird als SQL-Anweisung über Apache Drill definiert. Auf diesem Weg lassen sich zum Beispiel Daten auslesen, die nur in der letzten Woche gesammelt wurden, oder einige Spalten lassen sich für verschiedene Benutzer maskieren. Die SQL-Abfragen lassen sich als Dateien im Dateisystem speichern. Auf Basis der Zugriffe auf das Dateisystem kann jetzt gesteuert werden, wer die Abfrage nutzen darf.
Eine weitere Möglichkeit ist das Definieren einer virtuellen Datenmenge in der Datenquelle, auf die ein Benutzer Zugriff hat. Der Benutzer darf nur Abfragen für diese Daten erstellen und hat auf andere Daten keinen Zugriff. Dadurch entfallen weitere Berechtigungskonfigurationen, was Administratoren und Entwickler entlastet.
Fazit
Unternehmen, die sich mit Hadoop beschäftigen, kommen kaum um Spark und Drill herum. Auch wenn die beiden Technologien noch nicht im Einsatz sind, sollten sich Entwickler mit den Produkten auseinandersetzen. Da die Datenmengen in Big-Data-Infrastrukturen immer mehr anwachsen, ist die Verzahnung von Anwendungen, welche die Analyse großer Datenmengen beschleunigen, mehr als sinnvoll. Werden die Produkte bereits frühzeitig in das Big-Data-Projekt integriert, profitieren alle davon, das Unternehmen, die Anwender und die Entwickler.
(ID:43206559)