Data Lakes kommen bereits auf vielfältige Weise zum Einsatz und bringen verschiedene Vorteile mit sich. Ihre Nutzung setzt jedoch ein gewisses Know-how voraus. Datensilos und Governance-Prob­leme können weitere Hindernisse darstellen. Ein auf Datenvirtualisierung beruhendes Konzept kann Abhilfe schaffen.

Der Data Lake verdankt seinen Namen der Tatsache, dass Daten unverändert in ihn hineinfließen. Das heißt, sie werden in ihrem Ausgangsformat, im sogenannten Raw-Format, gespeichert. Das unterscheidet den Data Lake von anderen Konzepten, wie beispielsweise einem Data Warehouse, in dem man Daten in einem relationalen Modell abbildet, das speziell für DWH-Systeme optimiert ist, etwa durch ein Star-Schema. Der Data Lake zeigt seine Vorteile besonders dann, wenn es darum geht, große Datenmengen aus unterschiedlichsten Quellen für Datenkonsumenten zur Verfügung zu stellen. Damit ist er eine wichtige Quelle für vielfältige Analysen.

Durch einen Data Lake haben Data Scientists Zugriff auf ein zentrales Repository mit großen Freiheitsgraden. Data Scientists können unterschiedlichste Analysen auf Basis der in einem Data Lake vorhandenen Daten durchführen. Die Nutzung von Data Lakes ist allerdings relativ komplex. Aus diesem Grunde ist der Nutzerkreis von traditionellen Data Lakes in vielen Unternehmen relativ klein. Im Sinne der Effizienz sollten jedoch möglichst viele Mitarbeiter eines Unternehmens einen Data Lake nutzen können.

Data Lakes eröffnen neue Möglichkeiten für die Datenanalyse; in vielen Kundenumgebungen treten allerdings Schwierigkeiten im Umgang mit Data Lakes auf. Eine der offensichtlichsten Schwierigkeiten ist das schiere Volumen der Daten. Oft scheitert das Erstellen physischer Kopien in einem Data Lake an mangelndem Speicherplatz oder an einer zu geringen Bandbreite. In einer Vielzahl von Fällen sprechen aber oft auch Sicherheitsbedenken oder juristische Einschränkungen, besonders durch Datenschutzgesetze, gegen das Kopieren von Daten.

Sicherheitsbedenken können auch ein Grund dafür sein, dass Fachabteilungen ihre Daten nicht mit anderen teilen möchten. Dahinter kann aber auch mangelnder Gemeinsinn stecken; auf jeden Fall ist fehlende Kooperationsbereitschaft und Silodenken ein großes Hindernis für die Umsetzung eines klassischen Data Lakes. Auch wenn sich dieses Hindernis überwinden lässt, ist die Speicherung der Daten im Ursprungsformat immer noch ein Problem, denn ihre Nutzung erfordert eine vorherige Transformation, die sehr komplex werden kann.

Außerdem verfügen nicht alle Quelldaten über Metadaten, wodurch Data Scientists erklärender Kontext fehlt, was wiederrum zu Fehlinterpretationen führen kann. Nicht zuletzt sind Data Lakes eine Technik, deren Betrieb aufwendig ist und Fachwissen erfordert. In der Regel erfolgt der Betrieb von Data Lakes in einer Hadoop-Cluster-Umgebung. Die Aktualisierung der Daten in einem Data Lake kann – abhängig von den Datenquellen und den Aktualisierungsanforderungen – ebenfalls sehr komplex sein.

Virtualisierung von Daten

Die beschriebenen Probleme lassen sich durch einen multifunktionalen Data Lake lösen. In einem multifunktionalen Data Lake wird nur ein Teil der Daten in den Data Lake transferiert, der Rest – sei es, weil zu groß oder zu sensibel – verbleibt am Ursprungsort.

Voraussetzung und technologischer Hintergrund dieses Prinzips ist die Datenvirtualisierung. Datenvirtualisierung erlaubt die Einbindung verschiedenster Datenquellen, wie beispielsweise Dateien, RDBMSs, Hadoop- und Cloud-Daten-Quellen sowie SaaS-Anwendungen. Unabhängig von Format und API kann man so Daten in einen logischen Data Lake integrieren, während sie trotzdem an ihrem ursprünglichen Ort verbleiben. Der Zugriff auf die Virtualisierungsplattform erfolgt über klassische SQL-Schnittstellen (JDBC, ODBC) oder über den Aufruf von Web-Services (REST, SOAP).

So ist es möglich, die Daten aus dem logischen Lake in beliebten Programmen und Tools zu verwenden. Dank der Datenvirtualisierung tritt die technische Komplexität der Datenspeicherung in den Hintergrund und User können sich auf die Funktionalitäten konzentrieren, die dem Unternehmen einen Nutzen bringen.

Integration von Datenquellen

Die Integration verschiedener Datenquellen wird in der Datenvirtualisierungsplattform über Views realisiert. Unterschieden wird zwischen Base Views und Derived Views. Während Base Views für das Mapping zu externen Daten zuständig sind – etwa zu einer Tabelle in einer Oracle-Datenbank, zu Daten in einer XML-Datei oder zu Daten aus einem Web-Service – lässt sich über Derived Views ein semantisches Datenmodell bereitstellen. Dieses Datenmodell kann man von verschiedenen Anwendungen und Tools nutzen. Derived Views erlauben die Transformationen und Kombinationen von verschiedensten Datenquellen mit Hilfe von SQL-Operationen. Derartige Transformationen können beispielsweise Typkonvertierungen, Aggregationen, Filter, Joins, Unions und Berechnungen sein. Mittels dieser Views lassen sich Quelldaten in jede gewünschte Form umwandeln.

Datenvirtualisierung verfügt außerdem über ausgefeilte Caching-Mechanismen. Dabei wird die Ergebnismenge einer View entweder in einer relationalen Datenbank beziehungsweise in einer Hadoop-Datenbank gespeichert. Dieses Verfahren wird dann angewendet, wenn Datenquellen keine effizienten Zugriffe erlauben oder Quellplattformen nicht in der Lage sind, eine zusätzliche Last zu verarbeiten. Des Weiteren lässt sich die Bearbeitung von Queries beschleunigen, da man Transformationsoperationen nicht mehr ausführen muss.

Durch die Datenvirtualisierung können IT-Verantwortliche neue Datenquellen schneller und effizienter einbinden, da keine komplexen ETL-Prozesse notwendig sind. Ein weiterer Vorteil der Datenvirtualisierung ist die Möglichkeit zur Implementierung von Security- und Governance-Regeln.

Die Datenvirtualisierungsplattform verfügt über ein integriertes Security Layer, das es möglich macht, Security- beziehungsweise Governance-Regeln auf alle integrierten Datenquellen anzuwenden. Die Performance von Abfragen auf einen multifunktionalen Data Lake wird durch einen Cost-Based Optimizer gewährleistet. Dieser Optimizer, der vergleichbar mit Optimizern in einem RDBMS ist, sorgt dafür, dass sich heterogene Abfragen über verschiedene Datenquellen auf Basis eines Regelwerks und Statistiken optimieren lassen.

Dank der Datenvirtualisierung ist es möglich, die komplexe Struktur eines Data Lakes als eine Folge von Views abzubilden. So kann der IT-Verantwortliche die Schwächen eines physischen Data Lakes reduzieren. Mit der Implementierung von Transformationen in Views lässt sich eine Vielzahl an Nutzungsmöglichkeiten für unterschiedliche Benutzergruppen erschließen.

Fazit

Das hier beschriebene System lässt sich auch als logischer multifunktionaler Data Lake beschreiben. Im Vergleich zu den traditionellen Data Lakes bringt diese Architektur viele Vorteile mit sich. Das beginnt damit, dass man die Probleme einer zentralisierten Datenspeicherung umgeht, wie Datenschutz, Kopiereinschränkungen etc. Außerdem lassen sich Daten einfacher auswerten, wenn sie im Kontext ihrer ursprünglichen Quelle verbleiben. Daneben hat ein logischer, multifunktionaler Data Lake das Potenzial, alle anderen Data-Delivery-Systeme in einem Unternehmen zu ersetzen. Er erlaubt es Nutzern, mit verschiedenen Interfaces auf verschiedene Ebenen zuzugreifen, je nach dem individuellen Kenntnisstand. Durch diese Vereinheitlichung vermeidet man redundante Strukturen sowie Inkonsistenzen und ermöglicht eine Data Governance.

Thomas Niewel ist Technical Sales Director DACH bei Denodo, www.denodo.com.