Datenbanken: Welches System passt am besten zu Ihrer Verwendung?

In einer Data-Driven Zeit, in der alle Entscheidungen auf der Grundlage von Datenanalysen und -kapitalisierung getroffen werden, ist es extrem wichtig ein zuverlässiges und passendes Datengrundmodell zu wählen, insbesondere vor dem Hintergrund, dass es sich hier meist um Daten mit sehr hohem und kritischen Nutzen für ein Unternehmen handelt. In der Realität bedeutet das jedoch auch, je größer das zu verwaltende Datenvolumen ist, desto komplexer kann die Wahl eines effizienten Managementsystems sein, da es unterschiedlichste Tools und Anwendungen auf dem Markt gibt.

Zudem besteht eine zweite große Herausforderung darin, die Daten in einem fragilen Umfeld – in dem Angriffe immer häufiger vorkommen – bestmöglich zu sichern.

In diesem Artikel präsentieren wir Ihnen daher einen übersichtlichen Vergleich der klassischen Datenbankmodelle, die momentan auf dem Markt vorzufinden sind. Vorab sollte man sich jedoch vor Augen führen, dass es nicht das eine perfekte System oder die eine perfekte Lösung gibt. Die optimale Wahl der richtigen Datenbank hängt immer von Ihren Bedürfnissen, Ihrem Kontext und Ihren Verwendungszwecken ab.

Homme utilisant un ordinateur pour le concept de base de données et de documentation en ligne.

I) SQL, NoSQL und NewSQL: Wie kann man diese Datenbanken unterscheiden und welche Lösungen gibt es auf dem Markt?

In einem ersten Schritt ist es sinnvoll, sich mit den drei Datenbankverwaltungssystemen zu beschäftigen, die es heute auf dem Markt gibt: SQL-, NoSQL- und NewSQL-Datenbanken.

Bei diesen drei Speicherlösungen lässt sich ein wesentlicher Unterschied in Bezug auf die Strukturierung der Daten ausmachen. In SQL-Datenbanken sind die Daten nämlich relational und daher in miteinander verbundenen Tabellen strukturiert, während in NoSQL-Datenbanken die Strukturierung der Daten flexibler und völlig frei ist. Im NewSQL-Modell können die Daten hingegen sowohl relational als auch verteilt sein. Das bedeutet, dass sie in Tabellen strukturiert und in Beziehung zueinander gesetzt werden können, das allgemeine Organisationsschema jedoch frei bleibt.

Bei SQL-Datenbanken sind auf dem Markt Lösungen wie Microsoft SQL Server, PostgreSQL, MySQL oder Oracle usw. erhältlich. Je nach Anbieter und angebotenen Funktionen empfiehlt es sich, die Systemumgebung, die Skalierbarkeit der Datenbank, die Leistung in Bezug auf das Datenvolumen, die angebotenen erweiterten Funktionen und natürlich den bereits angesprochenen Aspekt der Sicherheit im Detail zu vergleichen.

Wendet man sich hingegen den NoSQL-Datenbanken zu, so finden sich unter anderem Lösungen wie MongoDB, Redis, Cassandra oder Orient DB auf dem Markt. Diese NoSQL-Datenbanken lassen sich wiederum in insgesamt vier Kategorien aufteilen: Dokumentendatenbanken, Grafikdatenbanken, Key-Value-Datenbanken und Wide-Column-Datenbanken. Jede dieser Kategorien umfasst unterschiedliche Verwaltungssysteme und Verwendungszwecke, die es zu beachten gilt.

Unter den NewSQL-Datenbanken schließlich gibt es vor allem die Lösungen NuoDB, VoltDB oder auch CoackroachDB. Dieses Datenbankmodell vereinen im Prinzip die Vorteile und Charakteristika von SQL- und NoSQL-Datenbanken. Sie sind die bevorzugten Datenbanken, wenn es darum geht, große Datenmengen (Big Data) mit komplexen Verwaltungsmodellen zu verarbeiten.

II) SQL, NoSQL und NewSQL, welche Besonderheiten gilt es zu beachten?

Bei der genaueren Analyse von Datenbanken ist es auch in einem gewissen Maße erforderlich, dahinterstehende Theorien zu kennen und zu verstehen. So existieren etwa ausformulierte und definierte Regeln und Eigenschaften, die die Arten von Datenbanken charakterisieren und die Verwendung von Datenbanken steuern. 

Dazu gehört unter anderem:

  • Die ACID-Eigenschaften, welche darauf abzielen, den Grad der Atomarität, Konsistenz, Isolation und Dauerhaftigkeit der verschiedenen Datenbanklösungen zu definieren. Diese Eigenschaften gelten sowohl für SQL- als auch  für NewSQL-Datenbanken.
  • Das BASE-Prinzip hingegen wird primär bei NoSQL-Datenbanken verwendet und definiert sich über die drei folgenden Kriterien: Basically Available, Soft State und Eventually Consistent.

Darüber hinaus ist es möglich, einen Vergleich der am Markt angebotenen Lösungen anhand des CAP-Theorems fortzusetzen. Dieses ermöglicht eine Analyse der drei Datenbankarten SQL, NoSQL und NewSQL anhand der Ausprägung von drei Hauptkriterien, die definiert sind als: Consistency (Konsistenz), Availability (Verfügbarkeit) und Partition Tolerance (Partitionstoleranz). Dementsprechend positionieren sich SQL-, NoSQL- und NewSQL-Datenbanken entsprechend den genannten Kriterien auf unterschiedliche Weise. Gleichwohl besagt das Theorem bis heute, dass die Kombination aller drei Kriterien unmöglich ist und auf dem Markt nicht gefunden werden kann. Daher ist es notwendig, mindestens zwei dieser Kriterien zu priorisieren, und zwar stets in Abhängigkeit von Ihren Anforderungen an die Speicherung und Nutzung der Datenbank.