Zum Inhalt springen

Glossar · N

NoSQL

NoSQL bezeichnet eine Klasse von Datenbanken, die nicht auf dem relationalen Modell basieren und oft für unstrukturierte Daten verwendet werden.

Definition

NoSQL bezeichnet eine Klasse von Datenbanksystemen, die nicht auf dem relationalen Datenmodell basieren. Im Gegensatz zu traditionellen relationalen Datenbanken verzichten NoSQL-Datenbanken auf tabellenbasierte Strukturen mit festen Schemata. Stattdessen ermöglichen sie flexible Datenmodelle, die häufig für unstrukturierte oder semi-strukturierte Daten eingesetzt werden.

Der Begriff NoSQL tauchte erstmals 1998 auf und wurde ab 2009 als Sammelbegriff populär; heute wird er meist als „Not Only SQL“ gelesen. Er umfasst verschiedene Datenbanktypen, darunter dokumentenorientierte, spaltenorientierte, graphbasierte und key-value-Datenbanken. Diese Vielfalt erlaubt es, unterschiedliche Anforderungen an Datenorganisation und -zugriff abzudecken.

Was bedeutet das für Ihr Unternehmen?

NoSQL-Datenbanken spielen ihre Stärken bei sehr großen, wechselnd strukturierten Datenmengen aus, etwa Sensordaten, Ereignisprotokollen oder Zwischenspeichern. Für typische Geschäftsdaten wie Kunden, Aufträge und Rechnungen mit vielen Beziehungen ist eine relationale Datenbank meist die robustere Wahl. Wird Ihnen NoSQL für eine klassische Verwaltungsanwendung empfohlen, lohnt die Nachfrage, welches konkrete Problem eine relationale Datenbank dort nicht lösen würde.

Hintergrund und Entwicklung

Die Entstehung von NoSQL-Datenbanken hängt eng mit dem Bedarf an skalierbaren und flexiblen Datenlösungen im Kontext von Webanwendungen und Big Data zusammen. Klassische relationale Datenbanken stießen bei großen Datenmengen und hoher Verfügbarkeit an ihre Grenzen, was die Entwicklung alternativer Modelle förderte.

Bekannte frühe NoSQL-Systeme sind beispielsweise Google Bigtable (2004) und Amazon Dynamo (2007). Diese Systeme legten den Grundstein für viele Open-Source-Projekte wie Apache Cassandra, MongoDB oder Redis, die seit den 2010er Jahren eine breite Akzeptanz in der Industrie finden.

Funktionsweise und Datenmodelle

NoSQL-Datenbanken verwenden unterschiedliche Datenmodelle, um verschiedene Anwendungsfälle abzudecken. Dokumentenorientierte Datenbanken speichern Daten als Dokumente, meist im JSON- oder BSON-Format, und ermöglichen flexible Schemata. Key-Value-Datenbanken organisieren Daten als Schlüssel-Wert-Paare, was schnelle Zugriffe auf einfache Datenstrukturen erlaubt.

Spaltenorientierte Datenbanken speichern Daten in Spaltenfamilien, was besonders für analytische Abfragen über große Datenmengen geeignet ist. Graphdatenbanken modellieren Beziehungen zwischen Datenobjekten als Knoten und Kanten, was komplexe Netzwerkstrukturen abbildet. Diese Vielfalt macht NoSQL-Systeme flexibel, aber auch unterschiedlich in ihrer Handhabung und Performance.

Einsatzgebiete

NoSQL-Datenbanken werden vor allem in Bereichen eingesetzt, in denen große Mengen unstrukturierter oder heterogener Daten verarbeitet werden müssen. Beispiele sind Content-Management-Systeme, Echtzeitanalysen, Internet-of-Things-Anwendungen und soziale Netzwerke.

Darüber hinaus eignen sich NoSQL-Systeme für Anwendungen mit hohen Anforderungen an Skalierbarkeit und Verfügbarkeit, insbesondere in verteilten Systemen und Cloud-Umgebungen. Die flexible Schemagestaltung erleichtert die schnelle Anpassung an sich ändernde Datenstrukturen.

Abgrenzung zu relationalen Datenbanken

Relationale Datenbanken basieren auf dem relationalen Modell mit festen Schemata, Tabellen und SQL als Abfragesprache. Sie garantieren ACID-Eigenschaften (Atomicity, Consistency, Isolation, Durability) und eignen sich gut für transaktionale Anwendungen mit komplexen Beziehungen.

NoSQL-Datenbanken verzichten häufig auf vollständige ACID-Garantien zugunsten von höherer Skalierbarkeit und Verfügbarkeit. Stattdessen setzen viele auf das BASE-Prinzip (Basically Available, Soft state, Eventual consistency). Diese Unterschiede führen zu unterschiedlichen Stärken und Schwächen, weshalb die Wahl vom jeweiligen Anwendungsfall abhängt.

Verwandte Begriffe

Passende Leistung

Sie möchten wissen, was das für Ihr Projekt bedeutet? Sprechen Sie uns an.

Zur Leistung: Datenbank-Systeme