Big Data Datenbanken: SQL und NoSQL

Angesichts der stetig wachsenden Datenmengen in jedem Bereich der Wertschöpfung bilden intelligente und zielgerichtete Datenanalysen einen entscheidenden Erfolgsfaktor für die gesamte Unternehmensleistung. Welche Unternehmen hier die Nase vorn haben, wird immer stärker durch die richtige Kombination von Methoden und Technologien entschieden. Die Vielfalt an Schlüsseltechnologien für Big Data Analytics wird immer undurchsichtiger und komplexer. Vor diesem Hintergrund möchten wir mit dieser Artikel-Reihe die wichtigsten Technologien vorstellen.

Die Speicherung und Analyse von großen Datenmengen aus unterschiedlichsten Quellen wird für alle Fachbereiche im Unternehmen von Jahr zu Jahr wichtiger. Big Data Analytics gilt in den meisten Branchen bereits als Must-Have-Kompetenz, um nicht bereits kurzfristig den Anschluss an den Wettbewerb zu verlieren. Die neue Herausforderung ist dabei aber nicht nur die bloße Menge an Daten, sondern die vielen unterschiedlichen Datenformate.

Der Klassiker: Relationale Datenbanken und SQL

Die bisher noch am häufigsten eingesetzten Datenbanken gehören der Familie der relationalen Datenbanken an. In relationalen Datenbanken werden Datdatenbankmodellen in strukturierten Tabellen gespeichert und untereinander für Schlüsselpaare verbunden. Dies sind zeilenorientierte Datenbanken. Die korrespondierende Sprache zum Zugriff auf die Daten ist SQL (Structured Query Language) und sehr verbreitet. SQL gilt als eine der wichtigsten Kernkompetenzen im Bereich Business Analytics, für Advanced Analytics führt jedoch kaum ein Weg um NoSQL vorbei.

 

Während strukturierte Geschäftsdaten, wie etwa Bankverbindungen, Adressen, Bestellungen oder Produktinformationen, in einer relationalen Datenbank sehr gut gespeichert und auch mit SQL ausgewertet werden können, lassen sich unstrukturiert vorliegende Daten, z. B. Texte oder Bilder, zwar in einer solchen Datenbank übertragen, können jedoch nicht effizient verarbeitet oder ausgewertet werden.

Relationale Datenbanken gewährleisten, Daten konsistent  und – bei angewendeter Normalisierung – dank Vermeidung von Redundanzen auch platzsparend abzuspeichern. Dieser von vielen Unternehmen geschätzte Vorteil wird jedoch genau dann zum Nachteil, wenn die Datenmengen zu groß werden und komplizierte Analyse-Abfragen durchgeführt werden sollen, die bei führenden Unternehmen auf der Tagesordnung stehen.

Structured Storage / NoSQL

NoSQL ist ein aktueller Trendbegriff und steht für Datenbanken, die auch unstrukturierte Daten optimal und in großen Mengen verarbeiten können. Der Begriff NoSQL ist allerdings irreführend und stattdessen besser von Structured Storage gesprochen werden, denn dieses Akronym steht für Not only SQL. NoSQL bezeichnet zudem nicht ein einziges Datenbankmodell, sondern sehr viele unterschiedliche, die in vier Kategorien unterschieden werden können:

Key-Value-Datenbanken

Key-Value-Datenbanken sind eine Urform von Datenbanken – jeder Software-Entwickler hat bereits bewusst oder unbewusst mit der (meistens flüchtigen) Speicherung von Daten in Key-Value-Paaren gearbeitet. Im Grunde sind Key-Value-Datenbanken vergleichsweise primitiv, speichern Daten dafür in Rekordzeiten und rufen diese ebenso schnell wieder ab. Komplexe Geschäftslogiken lassen sich direkt in der Datenbank jedoch eher weniger abbilden. Die Analyse muss an externer Stelle, also außerhalb der Datenbank, erfolgen.

In reinen Key-Value-Datenbanken werden üblicherweise große Datenmengen unter schnellsten Zugriffszeiten verarbeitet, beispielsweise Sensordaten von Produktionsanlagen.

Key-Value-Datenbanken beschreiben ein grundlegendes Konzept, welches in fast allen anderen strukturierten Datenbanken aufgegriffen wird. Mit anderen Worten: Ein bisschen Key-Value steckt auch in den anderen NoSQL-Datenbanken.

Spaltenorientierte Datenbanken

Spaltenorientierte Datenbanken sind im Vergleich zu zeilenorientierten Datenbanken (relationale Datenbanken) sehr viel schneller im Hinzufügen von neuen Datensätzen (jeweils eine neue Spalte!). Solche Datenbanken können ähnlich komplexe Datenmodelle abbilden, wie zeilenorientierte Datenbanken, haben demgegenüber jedoch einen enormen Geschwindigkeitsvorteil, wenn Daten in nahezu Realtime in die Datenbank geschrieben und ausgewertet werden sollen. Der Nachteil an der Spaltenorientierung ist, dass die Abänderung von bestehenden Datensätzen umständlich und langsam ist, daher ist die Eignung für transaktionsintensive Datenbanken in der Regel nicht gegeben.

Spaltenorientierte Datenbanken spielen ihren Vorteil im Data Warehousing sowie für OLAP-Analysen aus. Ferner werden spaltenorientierte Datenbanken häufig für die Speicherung und Auswertung von Maschinendaten eingesetzt.

Dokumentenorientierte Datenbanken

Dokumentenorientierte Datenbanken sind die flexibelste Form der Datenspeicherung. Auf Relationen oder sonstige Verknüpfungen (z. B. zur Konsistenzprüfung) zwischen Daten wird komplett verzichtet. Somit müssen diese außerhalb der Datenbank über externe Abfrage/Programmiersprachen hergestellt werden. Dafür speichern dokumentenorientierte Datenbanken jegliche Datenformate (z. B. strukturierte meistens im XML- oder JSON-Format, aber auch unstrukturierte, wie Bilder oder Videos als Binärdateien) ab. Dokumentenorientierte Datenbanken sind frei von festgelegten Schemata und können dadurch Daten sehr flexibel speichern, ohne dass die Datenbank strukturell angepasst werden müsste.

Dokumentenorientierte Datenbanken bleiben auch bei sehr großen Datenmengen sehr schnell und bieten eine maximale Flexibilität. Intensiv vernetzte Daten können in einer solchen Datenbank jedoch nicht optimal gespeichert und abgerufen werden. In der Regel können solche Datenbanken auch sehr transaktionsintensive Anwendungsfällen gerecht werden, die Auswertung der Daten muss jedoch außerhalb erfolgen.

Graphenorientierte Datenbanken

Graphenorientierte Datenbanken bilden die Königsklasse, wenn es um vernetzte bzw. verlinkte Daten geht. Die meisten Datenbanken knicken bei Abfragen über viele Verbindungspfade hinsichtlich ihrer Performance schnell ein, nicht jedoch graphenorientierte Datenbanken, die genau solche Daten sehr schnell und überaus tiefgreifend speichern und schnell auswerten können.

Für weniger vernetzte Daten eignen sich graphenorientierte Datenbanken jedoch tendenziell eher nicht, da diese den Fokus auf die Auswertung von Graphen legen und hierauf optimiert wurden.

Fazit

NoSQL wird SQL niemals gänzlich ersetzen, denn relationale Datenbanken sind für strukturierte Geschäftsdaten immer noch die beste Wahl. Bei der Auswertung von unstrukturierten Daten oder Daten in besonders großen Mengen oder in besonders komplexen Strukturen, führt jedoch kein Weg an spezialisiertere NoSQL-Datenbanken vorbei.

 

Über DATANOMIQ

DATANOMIQ ist ein führender Lösungs- und Service-Partner für Business Analytics, Data Science und Industrie 4.0. Wir erschließen die gewaltigen Ergebnispotenziale durch Big Data erstmalig in allen Bereichen der Wertschöpfungskette. Dabei setzen wir auf die besten Köpfe und das umfassendste Methoden- und Technologieportfolio in unserer Branche. DATANOMIQ erzielt messbare Resultate, die den Arbeitsalltag einfacher und erfolgreicher machen – ‚simplicity at work‘.

Pressekontakt

DATANOMIQ GmbH

Herrn Christoph Gabath
Ostendstraße 25
D-12459 Berlin
Tel: +49 (0) 30 20653828
I: www.datanomiq.de
E: gabath@datanomiq.de