Business Application Research Center

Experten für Business Intelligence, Analytics, Big Data, CRM und ECM

BARC-Newsletter

Briefing-Insights: Dremio - die „Data Lake Engine“

RssRss

28.05.2020

Briefing-Insights: Dremio - die „Data Lake Engine“

Was ist denn nun wieder eine Data Lake Engine? Kurz gesagt: Eine Engine soll helfen, Daten einfach und schnell in seinem (Cloud) Data Lake zu finden und mit einer hohen Abfrageperformance auszuwerten.

Technisch ist eine SQL-basierte Query-Engine mit semantischem Layer gemeint, die Abfragen auf verschiedenen Datenhaltungssystemen (On Premises oder in der Cloud) ermöglicht und damit als zentraler Zugriffspunkt für JDBC/ODBCODBC-kompatible Anwenderwerkzeuge fungiert.

Dremio

Dremio wurde 2015 ins Leben gerufen. Der Hauptsitz ist in den USA, Santa Clara. Heute arbeiten rund 120 Mitarbeiter für den Technologielieferanten. Weltweit gehören Konzerne wie z. B. Diageo, Microsoft, NCR, PayPal, Standard Chartered, Transunion zu den Kunden.

Im DACH-Raum nutzen bereits DATEV, DB Cargo, Henkel und die Software AG (Cumulocity IoT) Dremio. Zu den Vorzeigekunden im DACH-Raum zählen vor allem Datev, DBCargo und Henkel. Einen Branchenschwerpunkt gibt es nicht. Speziell für den deutschsprachigen Markt gibt es seit Anfang 2020 ein dediziertes Team, das weiter ausgebaut werden soll.

Seit 2018 ist die Dremio Enterprise Edition auch als kommerzielle Version als Ergänzung zum Open-Source Produkt Dremio Community Edition verfügbar. Bezahlt wird vor allem für zusätzliche Enterprise-Funktionen rund um den Datenschutz und Sicherheit sowie Service-Leistungen. Dremio kann On Premises und/oder im eigenen Cloud-Account (AWS, Azure) genutzt werden.

Dremio ist im Marketplace sowohl AWS als auch Azure verfügbar und Co-Sell-Partner dieser Anbieter.

Ein weiterer starker globaler Partner ist Tableau. Tableau nutzt Dremio vor allem für den SQL-Datenzugriff auf verteilte Dateisysteme und hat bereits mehrere Kunden von der Zusammenarbeit mit Dremio überzeugen können.

Dremio ist fremdfinanziert und hat kürzlich Finanzspritze in Höhe von 70 Mio. US$ erhalten.

Das Ziel

Dremio möchte mit seiner Technologie den Zugang zu Daten für analytische Workflows vereinfachen, beschleunigen und dies kostengünstiger gestalten als andere Player im Markt. Hier zählt nicht nur die Technologie-Lizenz, sondern auch der Ansatz, Daten möglichst nicht in der Gesamtarchitektur zu bewegen, zu duplizieren und damit Kosten zu verursachen.

Vielmehr verfolgt Dremio den Ansatz, über ein nutzerfreundliches Interface verschiedene Sichten auf die Daten für einen schnellen, flexiblen Zugriff auf (verteilte) Daten zu gewähren. Dadurch sollen zusätzliche persistierte Schichten wie Aggregationen vermieden werden können und vor allem den Nutzern eine Plattform gegeben werden, um performante Ad-hoc-Analysen fahren zu können.

Als Hauptnutzer werden Business Analysten, Data Scientists und Data Engineers gesehen. Wichtig ist es Dremio dabei, als agnostisches Werkzeug gesehen zu werden. Dremio ermöglicht die Abfrage unterschiedlicher Datenspeichertechnologien, an unterschiedlichen Standorten (cross-cloud, On Premises /Cloud, …).

Wussten Sie? Das Logo von Dremio ist das Ergebnis aus einem offenen Logo-Such-Wettbewerb im Internet. Das Logo sollte etwas mit „Drill“ zu tun haben, möglichst Blautöne nutzen und eine (Tier)-Grafik verwenden. Letztendlich hat es der Narwal geschafft, den ich ursprünglich als „Delphin mit Horn“ identifiziert hatte.

Die Technologie

Dremio geht auf Apache Drill zurück, einer SQL-Engine für Hadoop. Diese hat sich für analytische Workloads nie so richtig durchsetzen können. Als Gründe werden u.a. die Performance und das komplexe Handling genannt.

Einen Schritt weiter geht Apache Arrow, eine Technologie, die sich Dremio zu Nutze macht und von Dremio Co-Gründer & CTO Jaques Nadeau mit entwickelt wurde und weiterhin mitentwickelt wird. Apache Arrow bietet eine sprachenübergreifende Entwicklungsplattform für In-Memory Daten und spezifiziert ein standardisiertes sprachunabhängiges Spaltenspeicherformat für flache und hierarchische Daten an.

Dies wird dann interessant, wenn es darum geht, unterschiedliche Datenspeicher mit unterschiedlichen Formaten miteinander zu verknüpfen für analytische Abfragen und dabei noch eine gute Performance hinzulegen.

Der Anbieterstellt Konnektoren zu unterschiedlichsten relationalen und nicht-relationalen Speichertechnologien und verteilten Dateisystemen in Dremio bereit. Im nächsten Schritt können Abfragen auf die angeschlossenen Systeme ausgeführt werden. Diese Abfragen sind als virtuelle Data-Sets definiert und werden zum Ausführungszeitpunkt (live) ausgeführt.

Jede Abfrage nutzt Beschleunigungsmechanismen wie Massivparalleles-Processing, Query-Optimierung oder Push-Down-Optionen. Der Push-Down ermöglicht die Delegation von Arbeitslast in die Quellsysteme. Eine der Haupt-Performance-Funktionen in der Dremio-Lösung nennen sich „Reflections“. Sie erinnern an „materialized views“ und persistieren physikalisch optimierte Datendarstellung auf Wunsch in spalten-basierten Parquet-Files.

Mit jeder Abfrage prüft Dremio, ob ein persisitiertes (vorberechnetes) Zwischenergebnis verfügbar ist und spart so Rechenzeit. Für die Datensuche in den technischen Metadaten steht ein interner Katalog zur Verfügung. Die technischen Metadaten können mit Wikis und Tags versehen werden und so auch für den fachlicheren Nutzer auffindbar werden. Die Lösung ersetzt keinen Enterprise Datenkatalog, kann aber mit einem integriert werden.

Spannend auf der Roadmap ist vor allem der weitere Ausbau der Reflections. Der Aufbau dieser muss heute noch manuell erfolgen. Hier soll das System zukünftig „intelligent“ dabei unterstützen mithilfe von Daten aus dem Abfrageverhalten.

Analystenmeinung

Dremio ist eine Query-Engine für analytische Workloads, präferiert auf (Cloud) Data Lakes. Die Technologie bietet einen Ansatz zur (virtuellen) Zusammenführung der heute komplexen, heterogenen Systemlandschaften.

Vor allem die Idee eines Zugriffslayer über verschiedene Cloud-Angebote hinweg erscheint attraktiv und eröffnet Möglichkeiten sich auf mehr als einer Cloud-Plattform zu bewegen und dem Analysten viel Flexibilität in der Datenversorgung zu geben. Ein Technologie-/Vendor Lock-in wird vermieden.

Dremio bezeichnet sich selbst als Query-Engine mit semantischen Layer und überlässt das Feld der Datenverarbeitung den Spezialisten. So gelingt auch die Abgrenzung zu Anbietern wie Databricks oder Denodo. Das Versprechen: hohe Performance zu niedrigen Kosten.

Inwiefern die Performance tatsächlich überzeugt bleibt abzuwarten. Wir freuen uns auf die bevorstehenden Referenzkundengespräche und technologischen Deep Dives.