Data Lake vs. Semantic Graph Data Platforms: Eine vergleichende Analyse
Volker Krause, Stategic Senior Account Manager
In der heutigen Datenlandschaft sind Data Lakes beliebte Werkzeuge, um den Herausforderungen von Big Data zu begegnen und große und heterogene Datenmengen schnell und kostengünstig zu speichern. Sie bieten Flexibilität, kosteneffiziente Speicherung und die Möglichkeit, eine Vielzahl von Datenformaten in ihrem nativen Zustand zu speichern. Diese Vorteile stellen Unternehmen jedoch auch vor zahlreiche Herausforderungen bei der Datenanalyse.
Herausforderungen von Data Lakes
Die Qualität und Konsistenz der Daten können beeinträchtigt werden, wenn Daten aus unterschiedlichen Quellen und Formaten integriert werden. Ohne eine strenge Datenqualitätskontrolle und Governance-Strategie kann ein Data Lake schnell zu einem „Data Swamp“ werden, in dem die Daten zwar zentral gespeichert, aber schwer zugänglich und unbrauchbar sind. Die Verwaltung und Sicherstellung der Einhaltung von Datenschutz- und Sicherheitsrichtlinien ist bei heterogenen Datensätzen komplex. Das Auffinden relevanter Daten in den aus vielen Datenmodellen zusammengewürfelten Strukturen eines Data Lakes gestaltet sich oft schwierig. Die Zusammenführung von Daten aus verschiedenen Quellen erfordert umfangreiche ETL-Prozesse, die zeit- und ressourcenaufwändig sind und dennoch nicht für ein einheitliches und normalisiertes Datenmodell sorgen können. Leistungsprobleme treten insbesondere bei der Analyse großer Datenmengen und bei Echtzeit-Anforderungen auf. Der offene Charakter von Data Lakes kann Sicherheitslücken schaffen, die zusätzliche Schutzmaßnahmen erforderlich machen. Die Analyse von Rohdaten in ihrem nativen Format erfordert spezialisierte Kenntnisse und Tools. Unkontrolliertes Wachstum des Data Lakes kann zu steigenden Speicher- und Verarbeitungskosten führen. Aber das weitaus größte Problem ist, dass all die verschiedenen Datenquellen die Bedeutung der im Data Lake zusammengeführten Daten auf unterschiedlichste Prozesse, Applikationen und Programme verteilt haben. Ein Teil der Semantik der Daten steckt immer in dieser Prozess- und Programmlogik und nur durch das Zusammenführen der Daten an einem Ort oder immerhin in einem Modell bei dem Duplikate aufgedeckt werden, kann das nicht abmildern. Damit braucht man immer die Kenntnisse über die Ursprünge der Daten, um diese dann in einer Analyse verwenden zu können oder mit ihnen eine Frage beantworten zu können.
Exemplarische Übersicht der Architektur eines Data Lakes:
Vorteile von Graph Datenbanken
Graph Datenbanken bieten sich als Lösung für einige der genannten Herausforderungen an. Durch ihre Fähigkeit, komplexe Datenbeziehungen effizient zu modellieren und abzufragen sind sie hervorragend für die Integration heterogener Daten geeignet und erleichtern die Auffindbarkeit von Daten durch gezielte Abfragen. Die leistungsfähigen Abfragefunktionen ermöglichen komplexe Beziehungsanalysen, und die effiziente Verarbeitung und Abfrage von vernetzten Daten verbessert die Leistungsfähigkeit. Die explizite Modellierung von Beziehungen hilft, sowohl neue Erkenntnisse aus den Daten zu gewinnen als auch Inkonsistenzen zu erkennen und zu beheben.
Die wichtigste Eigenschaft eines semantischen Graphen – oder eines Wissensgraphen – sind aber die folgenden Fähigkeiten des Graph Modells:
- Abbildung der Bedeutung der Daten in ihrem Kontext
Graphen modellieren nicht nur Beziehungen zwischen Daten, wie das in einem relationalem Modell passiert, sondern sie legen Beziehungen zwischen Daten mit jedem neuen Objekt neu ab und können damit den Kontext, in dem Daten einzuordnen sind, vollkommen abbilden. Das bedeutet, dass Logik und Beziehungen zwischen Daten, die sonst nur in Programmen oder Prozessen „gespeichert“ ist, auch bei der Integration großer Datenmengen auf Einzeldatenebene mit abgebildet werden kann. Die Daten stehen daher für sich, wenn sie in einem semantischen Graphen gespeichert sind. Hat man eine ausreichende Datenmenge mit ausreichender Vernetzung, so spricht man bei solchen Daten auch von „einer maschinenlesbaren Karte der Welt“ oder zumindest der Welt, in der man mit den Daten arbeiten will. Diese Speicherung von Daten ermöglicht es Programme auch ohne Kenntnis der Herkunft der Daten zu schreiben, vollkommen neuen Fragen an die Daten zu stellen, die in einer einzelnen Quelle gar nicht zugänglich gewesen wären. Für jegliche Art fundierter Auswertung oder Modellierung ist eine solche Repräsentation der Daten eigentlich unerlässlich.
- Evolutionäre Möglichkeit zur Detaillierung ohne Funktionsverlust
Die Struktur oder Ontologie und Taxonomie eines Graphen kann nachträglich erweitert werden. Ändert man ein herkömmliches Datenmodell, so muss auch sämtliche Software angepasst werden. Gleiches gilt bei einer Erweiterung, in die bestehende Datenmodellierungen zu integrieren sind, um so das alte mit dem neuen Model zu verbinden. Im Gegensatz dazu kann man die Ontologie eines Graphen flexibel erweitern. Auf diese Weise ist die Schaffung neuer Verbindungen, Beziehungen und Zusammenhänge jederzeit möglich. Auch können Daten durch zusätzliche Elemente wesentlich detaillierter Beschrieben werden. Durch solche Subgraphen werden bestehende Funktionalitäten und Bedeutungen nicht angetastet, so dass der Graph selbst sich stetig der verändernden Welt und dem erweitertem Erkenntnis- oder Datenverfügbarkeitsstand anpasst. Gleichzeitig können dabei alle bereits funktionierenden Programme und Analysen ohne Beeinträchtigung weiter genutzt werden. Auch scheinbare Wiedersprüche, die bei ETL getriebenen Data Lakes oft zum großen Modellerweiterungen führen, lassen sich in einem Graphen durch einfach Beziehungen abdecken und ohne Aufwand modellieren.
Kombination von Data Lake und Graph Datenbank
Unternehmen, die bereits einen Data Lake haben, haben eine gute Voraussetzung geschaffen auch einen semantischen Graphen zu befüllen. Die in den Data Lake geflossenen Investitionen lassen sich also schützen und gleichzeitig die erweiterten Analysemöglichkeiten eines Graphen nutzen.
Es dabei darauf verwiesen, dass grundsätzlich auch in einem Graphen sehr großen Datenmengen gespeichert und performant analysiert werden können. Allerdings setzt dieses spezifische Erweiterungen der Graph Datenbanken hin zu einer semantischen Datenplattform voraus. Dieses bietet über die reine Graph Datenbank, welches es auch als Open Source Angebot gibt, unter anderem lineare Skalierbarkeit, De-Duplizierung, Umgang mit Super Nodes, Historisierung für zeitliche Abfragefähigkeit im Systemkontext und vieles mehr. Solche semantischen Datenplattformen sind bis auf sehr wenige Ausnahmen (aktuell geschätzt weltweit zwei Anbieter) in der Regel Eigenentwicklungen von führenden Internetkonzernen wie beispielsweise Google, Alibaba, Meta oder Amazon und bilden die technologische Grundlage für deren datengetriebenen Geschäftsmodelle.
Wann eine Graph Datenbank den Data Lake ergänzen oder ersetzen sollte
In zukünftigen Datenlandschaften werden semantische Graphen große Vorteile gegenüber Data Lakes haben. Dafür spricht nicht nur deren erwähnter durchgängiger Einsatz bei Unternehmen, deren Geschäftstätigkeit auf datengetriebenen Geschäftsmodellen beruht. Für eine zunehmende Verbreitung spricht ebenfalls, dass sich statistische Simulationen, Prognosen und Analysen in einem Graphen wesentlich einfacher umsetzen lassen. Entsprechend ist davon auszugehen, dass immer mehr Applikationen gegen eine Graph Datenstruktur geschrieben werden, wodurch eine langsame aber kontinuierliche Überführung absehbar erscheint.
Wichtig ist, dass man die Entwicklung neuer Features und die Pflege gegebener Strukturen in einem guten Lifecycle Management abbildet, so dass alle Investitionen geschützt bleiben und über die Zeit ein Technologie- und Konzeptupgrade stattfindet.
Kriterien für den Einsatz von Graph Datenbanken und Data Lakes
Die Entscheidung zwischen einer Graph Datenbank und einem Data Lake sollte auf verschiedenen Kriterien basieren. Hierzu zählen die Beziehungsintensität der Daten, die Komplexität der Abfragen, die Echtzeit-Anforderungen und die Flexibilität der Datenmodelle.
Graph Datenbanken benötigen gegenüber traditionellen Datawarehouses oft weniger Datenvorverarbeitung, reduzieren die Latenz, verbessern die Datenqualität und bieten höhere Flexibilität. Sie sind besonders geeignet für Anwendungen, die schnelle, flexible und qualitativ hochwertige Datenanalysen erfordern. Ein wesentlicher Vorteil ist ebenfalls, dass die Modellierung von Daten in einer Graph Datenbank auf eine intuitive Weise erfolgt, die oft besser mit der realen Welt übereinstimmt, insbesondere wenn es um die Darstellung von Beziehungen geht.
Besonders für Unternehmen, die am Anfang ihres digitalen Reifegrades stehen, eignet sich die Kombination von Data Lake zur schnellen Speicherung unterschiedlichster Daten und einer Graph Datenbank zur Analyse und Auswertung.
Unternehmen mit einem fortgeschrittenem Reifegrad, welche datengetriebene Geschäftsmodelle betreiben wollen, können ihre Datenlagerung im Sinne eines Betriebssystems für Daten in einer semantischen Datenplattform konsolidieren und optimieren. Diese zeichnet sich nicht nur durch eine Graph Datenbank aus, sondern auch durch die Möglichkeit einer linearen Skalierbarkeit, performantem Umgang mit Super Nodes, einer effizienten Speicherverwaltung, der De-Duplizierung zur Vermeidung unnötiger Datenredundanzen, inhärenter Systemsicherheit, Historisierung für zeitliche Abfragefähigkeit im Systemkontext, Audit-Logs mit Wirksamkeit von Berechtigungsänderungen in Echtzeit sowie hohe Geschwindigkeit bei komplexen Abfragen oder Transaktionen im Graphen aus.
Eine diesen Anforderungen gerecht werdende Architektur ist die der semantischen Datenplattform Bardioc der Almato AG:
Fazit: Die Kombination als optimaler Start einer Lösung
Graph Datenbanken und Data Lakes haben jeweils ihre eigenen Stärken und sollten nicht als konkurrierende, sondern als komplementäre Technologien betrachtet werden. Während Data Lakes eine hervorragende Lösung für die Integration verschiedener relationaler Modelle bieten und dafür auch Werkzeuge und Prozesse bereitstellen, ermöglichen Graph Datenbanken effiziente Datenanalysen und Echtzeitabfragen. Die Kombination beider Technologien in einer semantischen Datenplattform bietet Unternehmen eine robuste, skalierbare und flexible Infrastruktur, die sowohl die Speicherung großer Datenmengen als auch die effiziente Analyse komplexer Datenbeziehungen optimal unterstützt.
Mit zunehmendem Reifegrad in der Entwicklung und Implementierung datengetriebener Geschäftsmodelle eines Unternehmens ist ein kontinuierlicher Übergang hin zu einer alleinigen Nutzung einer semantischen Datenplattform absehbar.