Suchen

NoSQL-Datenbanken im Überblick Große Datenmengen effektiv speichern und leicht auslesen

| Autor / Redakteur: Thomas Joos / Dr. Jürgen Ehneß

Sollen große Datenmengen gespeichert werden, kommen Unternehmen kaum mehr um den Einsatz von NoSQL-Datenbanken herum. Diese Art der Datenbanken kann auch sehr große, unstrukturierte Datenmengen effektiv speichern. Wir geben einen Überblick.

Gegenüber SQL-Datenbanken gewinnen NoSQL-Datenbanken an Bedeutung.
Gegenüber SQL-Datenbanken gewinnen NoSQL-Datenbanken an Bedeutung.
(Bild: gemeinfrei / Pixabay )

Mit NoSQL-Datenbanken („Not only SQL“) können Entwickler Daten auch in unstrukturierter Form speichern und vor allem wesentlich flexibler wieder auslesen als mit einfacher SQL-Syntax. Vor allem die Möglichkeit, auch neue Datentypen und unstrukturierte Daten zu speichern, stellt einen großen Vorteil von NoSQL-Datenbanken dar. Neue Modelle lassen sich mit NoSQL-Datenbanken häufig besser darstellen als mit relationalen Datenbanken.

Einstieg in NoSQL-Datenbanken

Einfach ausgedrückt, sind NoSQL-Datenbanken vor allem dann sinnvoll einsetzbar, wenn die zu speichernden Daten nicht in Tabellen speicherbar sind. Sollen Daten in einer NoSQL-Datenbank gespeichert werden, sollte zunächst geprüft werden, welche Art von Datenbank zum Einsatz kommen soll, da es unterschiedliche NoSQL-Datenbanken mit verschiedenen Ansätzen gibt.

Die Abfragegeschwindigkeit ist darüber hinaus um einiges höher. Durch die Möglichkeit der horizontalen Skalierung lassen sich die meisten NoSQL-Datenbanken durch das Hinzufügen weiterer Server sehr einfach skalieren. SQL-Datenbanken setzen oft auf vertikale Skalierung, benötigen also sehr viel leistungsfähigere Hardware.

Viele NoSQL-Datenbanken werden als Open Source bereitgestellt, andere stehen in Cloud-Lösungen wie Microsoft Azure, Amazon Web Services (AWS) oder Google Cloud Platform (GCP) zur Verfügung. Wir geben einen Überblick zu einigen NoSQL-Datenbanken.

Google stellt zum Beispiel die NoSQL-Datenbank Google Cloud Firestone als Dienst in GCP zur Verfügung. Andere Dienste in GCP können auf die Daten der NoSQL-Datenbank zugreifen. Amazon stellt in AWS wiederum DynamoDB als NoSQL-Datenbank zur Verfügung. Mit Cloud Bigtable steht in GCP eine weitere NoSQL-Datenbank zur Verfügung.

Verschiedene Datenmodelle bei NoSQL-Datenbanken

NoSQL-Datenbanken unterscheiden sich nach Einsatz des Datenmodells. Generell lassen sich NoSQL-Datenbanken in vier verschiedene Modelle aufteilen:

Schlüsselwert (Key-Value): Bei diesem Datenmodel werden Schlüssel und Werte einer Hash-Tabelle zugeordnet. Ein bekanntes Beispiel ist Redis.

Dokument: Dokumentdatenbanken können komplette Dokumente in Gruppen zusammenfassen. Hier können zum Beispiel geschachtelte Schlüssel-Wert-Paare genutzt werden. Abfragen zu jedem Attribut in den Dokumenten stellen kein Problem dar. Beispiele für diese Art von NoSQL-Datenbanken sind Terrastore und Amazon DocumentDB. Diese Datenbank arbeitet auch mit dem Speicherdienst S3 in AWS zusammen. Ein weiteres Beispiel für eine solche Datenbank ist Google Cloud Firestone. Auch Apache CouchDB wird häufig in diesem Bereich eingesetzt.

Einspaltig: Einspaltige Datenbanken bieten schnelle Abfragen über Zeilen in Spalten mit geringer Dichte. Einzelne Spalten in der Datenbank lassen sich recht schnell abfragen.

Graph: Graphdatenbanken nutzen Knoten und Kanten, mit denen verbundene Daten dargestellt werden. Die Datenbanken werden vor allem für das Speichern von Beziehungsdaten genutzt, zum Beispiel Datenbanken mit Daten aus sozialen Netzwerken. Dazu werden die Graphen in der Datenbank mit Knoten (Punkten) und Kanten (Linien, mit denen die Knoten verbunden sind) abgespeichert. Ein Beispiel einer solchen Datenbank ist Neptune in AWS oder OrientDB. Neo4j ist eine weitere Graphendatenbank im Open-Source-Bereich.

Apache Cassandra, MongoDB und Co.

Zu den bekanntesten NoSQL-Datenbanken gehören zum Beispiel Cassandra und MongoDB. Natürlich gibt es zahlreiche weitere Beispiele von NoSQL-Datenbanken. NoSQL-Datenbanken wie Apache Cassandra sind darüber hinaus sehr leicht horizontal skalierbar. Über das Hinzufügen weiterer Server, die nicht mal besonders teuer sein müssen, lassen sich diese Datenbanken extrem einfach skalieren.

MongoDB gehört sicherlich zu den bekanntesten NoSQL-Datenbanken überhaupt. Wer MongoDB testen will, kann auch auf MongoDB Atlas setzen. Hierbei handelt es sich um eine verwaltete Cloud-Instanz von MongoDB. Die NoSQL-Datenbank steht auch in Cloud-Diensten wie AWS, Azure und GCP zur Verfügung. Durch verteilte Transaktionen in MongoDB wird das ACID-Prinzip auch in die NoSQL-Welt erweitert. Mit Amazon DocumentDB stellt Amazon in AWS eine zu MongoDB kompatible Datenbank zur Verfügung.

Die NoSQL-Datenbank HBase steht auch über HDInsight in Microsoft Azure zur Verfügung. HBase kann als Datenbank für Big-Data-Lösungen genutzt werden. Diese Datenbank baut auf Google Bigtable auf und kann sehr große Datenmengen speichern. Die NoSQL-Open-Source-Datenbank Riak wird vom Unternehmen Basho entwickelt. Auch Redis und Couchbase sind häufig verbreitete Datenbanken im NoSQL-Bereich.

Fazit

In vielen Fällen sind SQL-Datenbanken im Bereich der Datenspeicherung noch der klare Platzhirsch. Es ist an der Entwicklung von NoSQL-Datenbanken in den vergangenen Jahren aber abzusehen, dass diese Art der Datenbanken eine immer größere Rolle spielen und für viele Einsatzgebiete wesentlich besser geeignet sind als SQL-Datenbanken. Geht es um die Analyse sehr großer Datenmengen, die in unstrukturierter Form vorliegen, um Dokumente oder um das Speichern von Beziehungen der Objekte in sozialen Netzwerken, sind NoSQL-Datenbanken kaum mehr wegzudenken. Es lohnt sich also, sich einen Überblick darüber zu verschaffen, welche NoSQL-Datenbank für den eigenen Einsatz sinnvoll sein können. Apache Cassandra und MongoDB sind sehr weit verbreitete Datenbanken, die auch in namhaften Cloud-Lösungen wie Azure, AWS oder Google Cloud Platform eingesetzt werden. Viele Analysewerkzeuge arbeiten bereits umfassend mit den verschiedenen NoSQL-Datenbanken zusammen.

(ID:46672616)

Über den Autor

 Thomas Joos

Thomas Joos

Freiberuflicher Autor und Journalist