Definition

Was ist NoSQL?

| Autor / Redakteur: Stefan Luber / Nico Litzel

(Bild: © aga7ta - stock.adobe.com)

NoSQL steht für „Not only SQL“ und bezeichnet Datenbanksysteme, die einen nicht-relationalen Ansatz verfolgen. Diese Datenbanken, denen verschiedene Datenbankmodelle zugrunde liegen können, sind horizontal skalierbar und lassen sich für Big-Data-Anwendungen einsetzen.

Hinter der Abkürzung NoSQL verbirgt sich der englische Begriff Not only SQL. NoSQL steht für Datenbanksysteme, die mit den Eigenschaften typischer relationaler Datenbanken brechen und alternative Datenbankmodelle verwenden. Die Datenspeicher basieren nicht auf den bekannten relationalen Datenschemata. NoSQL bedeutet allerdings nicht, dass grundsätzlich auf die Datenbanksprache SQL (Structured Query Language) verzichtet wird. Viele Systeme setzen zwar komplett auf nicht-relationale Funktionen, doch existieren auch Datenbanken, die nur bestimmte Elemente der SQL-Systeme unberücksichtigt lassen.

Während relationale Datenbanken Tabellen mit Spalten und Zeilen für die Datenspeicherung verwenden, nutzen NoSQL-Datenbanken zum Beispiel Wertepaare, Objekte, Dokumente oder Listen und Reihen für die Organisation der Daten. NoSQL-Systeme haben gemeinsam, dass sie für Anwendungen optimiert sind, bei denen die SQL-basierten relationalen Datenbanken an ihre Grenzen stoßen. Sie stellen eine Ergänzung und Bereicherung der Datenbankwelt dar und werden oft als strukturierte Datenspeicher bezeichnet.

Aufgrund ihres Aufbaus skalieren die NoSQL-Datenbanken horizontal. In vielen Fällen basieren sie auf Open Source Software, es gibt aber auch kommerzielle Lösungen auf Nicht-Open-Source-Basis. Dank der fehlenden starren Schemata der relationalen Datenbanken, sind NoSQL-Systeme sehr flexibel einsetzbar und eignen sich für große Datenmengen, wie sie in Big-Data-Anwendungen verwendet werden. Ihre komplette Architektur ist auf Skalierbarkeit und Performance ausgelegt. Die verschiedenen NoSQL-Ansätze und Datenbankmodelle lassen sich in vier unterschiedliche Hauptkategorien einteilen. Diese sind:

  • Dokumentenorientierte Datenbanken,
  • Key-Value-Datenbanken,
  • Graphendatenbanken und
  • spaltenorientierte Datenbanken.

Zu den bekanntesten Implementierungen des NoSQL-Ansatzes zählen Apache Cassandra, Riak, MongoDB, Redis und CouchDB.

Was NoSQL-Datenbanken auszeichnet

In NoSQL-Datenbanken sind die Forderungen umgesetzt, große, exponentiell wachsende Datenmengen performant zu verarbeiten sowie skalierbare, leistungsfähige und verteilte Architekturen zu unterstützen. Folgende typischen Eigenschaften zeichnen die NoSQL-Systeme aus:

  • Die horizontale Skalierbarkeit,
  • das Vermeiden von unnötiger Komplexität,
  • eine hohe Performance und ein hoher Durchsatz,
  • die Nutzung von allgemein gebräuchlicher Hardware,
  • die Vermeidung von relationalen Ansätzen des Datenmappings,
  • die Einfachheit in der Installation und Konfiguration von verteilten Datenbank-Clustern sowie
  • die Unterstützung der aktuellen Hardwaregenerationen.

Die Unterscheidungskriterien der NoSQL-Datenbanken von relationalen Datenbanksystemen

Das wichtigste Unterscheidungskriterium der NoSQL-Datenbanken von relationalen Datenbanksystemen ist die Verwendung von nicht-relationalen Datenbankmodellen. Darüber hinaus existieren zahlreiche weitere Merkmale, anhand derer sich die NoSQL-Systeme von SQL-Datenbanken abgrenzen lassen. So ist das komplette NoSQL-Datenhaltungssystem für eine effiziente Skalierung optimiert und für verteilte Architekturen entwickelt. NoSQL-Systeme arbeiten schemafrei und ermöglichen flexible Änderungen von Datendefinitionen mit Versionierungen und Hintergrundkonvertierungen.

Ein weiteres Unterscheidungskriterium ist, dass sich NoSQL-Datenbanken einfacher replizieren lassen. Bei einigen Systemen genügt für die Replikation ein einziger Befehl. In puncto Programmierschnittstellen besitzen viele NoSQL-Implementierungen bewusst einfach gestaltete APIs (Application Programming Interfaces). Auch das Konsistenzmodell von SQL- und NoSQL-Datenbanken unterscheidet sich in der Regel. Während die SQL-Daten meist nach dem ACID-Modell (Atomicity, Consistency, Isolation, Durability) gespeichert sind, verwenden NoSQL-Datenbanksysteme oft das sogenannte BASE-Modell (Basically Available, Soft State, Eventually Consistent). Es ist speziell auf die Verfügbarkeit von Daten und nicht auf deren Konsistenz ausgerichtet.

Mögliche NoSQL-Datenbankmodelle

NoSQL-Datenbanken verwenden keine relationalen Datenbankmodelle. Es kommen je nach System und Produkt andere Modelle zum Einsatz. Dies können beispielsweise folgende sein:

  • Key-Value-Datenbankmodelle,
  • spaltenorientierte Datenbankmodelle,
  • dokumentenorientierte Datenbankmodelle und
  • Graphendatenbankmodelle.

Das Key-Value-Datenbankmodell nutzt einfache Schlüssel und Werteschemata. Einzelne Werte sind immer bestimmten Schlüsseln zugeordnet und können aus willkürlichen Zeichenketten oder strukturierten Zeichen bestehen. Die Datenbanklösung Redis nutzt das Key-Value-Datenbankmodell.

In einem spaltenorientierten Datenbanksystem werden Einträge in Spalten statt in Zeilen gespeichert. Vorteil dieses Modells ist, dass im Gegensatz zu zeilenorientierten Datenbanken keine unnötigen Daten gelesen werden müssen und Leseprozesse schneller sind. Ein dokumentenorientiertes Datenbanksystem speichert die Daten nicht relational, sondern direkt in Dokumenten. Bei einem solchen Dokument handelt es sich um eine schemalose Zusammenstellung von Daten, die mehr oder minder strukturiert sein kann. Untereinander besitzen die Dokumente keine Relationen. Zum Beispiel basieren CouchDB und MongoDB auf diesem Datenbankmodell.

Bei einer Graphendatenbank werden die zu speichernden Informationen mithilfe der Eigenschaften von Knoten und Kanten abgebildet. Eine Kante stellt eine Beziehung zwischen Knoten her. Ein Graph wird grundsätzlich beginnend bei einem Startknoten durchlaufen, wodurch das Graphenmodell verschachtelte Beziehungen vermeidet und eine bessere Performance als relationale SQL-Datenbanken erzielt.

Typische Einsatzgebiete für NoSQL-Datenbanken

Mit NoSQL-Systemen können große Datenmengen mit hoher Performance gespeichert und abgefragt werden. Sie sind daher überall dort geeignet, wo SQL-Datenbanken an ihre Grenzen stoßen. Besonders bei komplexen und flexiblen Abfragen von unstrukturierten Daten spielen die NoSQL-Lösungen ihre Vorteile voll aus. Die Daten müssen nicht in ein SQL-Korsett gepresst werden, sondern sind flexibel prozessierbar. Typische Einsatzgebiete von NoSQL-Datenbanken sind Anwendungen im Big-Data-Umfeld.

Kommentare werden geladen....

Kommentar zu diesem Artikel abgeben

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Aktuelle Beiträge zu diesem Thema

Neue Datenbanken braucht das Land

Kommentar von Bruno Šimić, Couchbase

Neue Datenbanken braucht das Land

Die Geschäftswelt ändert sich schneller als je zuvor. Treiber dafür sind die immer größer werdenden Datenbanken der Firmen. Kunden konsumieren immer mehr Daten, weil sie mit immer mehr mobillen und IoT-Geräten Informationen nutzen. Um diese Herausforderungen zu bewältigen, werden verteilte Cloud- und Big-Data-Technologien benötigt. lesen

Crate.io stellt CrateDB 4.0 vor

IoT-Datenbank aktualisiert

Crate.io stellt CrateDB 4.0 vor

Die für Einsätze in IIoT-Umgebungen optimierte Datenbank CrateDB ist ab sofort in Version 4.0 verfügbar. Das neue Release ist robuster, unterstützt mehr SQL-Funktionen und bietet neue Möglichkeiten für die Arbeit mit Zeitreihen. lesen

MongoDB 4.2 mit verbesserter Verschlüsselung

Neue Version von NoSQL-Datenbank verfügbar

MongoDB 4.2 mit verbesserter Verschlüsselung

Mit der neuen Version 4.2 stellen die Entwickler von MongoDB die neue Version der NoSQL-Datenbank zur Verfügung. Verbessert werden zum Beispiel Indizes und die Verschlüsselung. lesen

Couchbase gibt Tipps zur Datenbankmigration

Legacy-Systeme aufwerten

Couchbase gibt Tipps zur Datenbankmigration

Für den Umstieg von relationalen auf NoSQL-Datenbanken gibt es viele Gründe. Allerdings ist nicht immer eine sofortige Migration die beste Wahl. Der Datenbankspezialist Couchbase gibt fünf Tipps, wie Unternehmen zunächst in kleinen Schritten vorgehen können. lesen

Die vier Mythen des Datenmanagements im Internet der Dinge

Kommentar von Christian Lutz, Crate.io

Die vier Mythen des Datenmanagements im Internet der Dinge

Intelligente Systeme im Internet of Things haben einen großen Appetit auf Daten. Pipelines von Sensordaten – oft Millionen von Messwerten pro Minute und Dutzende von Nachrichtenformaten– müssen in Echtzeit integriert und analysiert werden, um das Verhalten von „Dingen“ zu überwachen, vorherzusagen oder zu kontrollieren. Nur so können Unternehmen Korrekturen etwa bei Störungen in der Fertigung vornehmen, um Produktionsausfälle oder Ausschuss zu vermeiden. lesen

Fünf Wege, um Datensilos zu beseitigen

Datastax gibt Tipps

Fünf Wege, um Datensilos zu beseitigen

Der richtige Umgang mit Daten bietet zahlreiche Vorteile, wie etwa bessere Entscheidungen, beschleunigte Innovationen oder schnelles Krisenmanagement. Datensilos sind hierbei Hindernisse. lesen

Warum NoSQL-Datenbanken unverzichtbar sind

Couchbase nennt fünf Trends

Warum NoSQL-Datenbanken unverzichtbar sind

Klassische relationale Datenbanken werden den Anforderungen am Markt nicht mehr gerecht, meint Couchbase. Der NoSQL-Spezialist nennt fünf Trends, die den Einsatz moderner Datenbanktechnologien erfordern. lesen

Datenbasis für das IoT-Zeitalter

Crate.io

Datenbasis für das IoT-Zeitalter

IT-Spezialisten haben über Jahrzehnte SQL-Know-how aufgebaut, doch das IoT-Zeitalter erfordert die massenweise Verarbeitung von Echtzeit-Datenstreams, die von Sensoren erzeugt werden. Crate.io vereinigt beide Welten. lesen

AWS startet Datenbankdienst DocumentDB

Service für unternehmenskritische MongoDB-Anwendungen

AWS startet Datenbankdienst DocumentDB

Der hochverfügbare Datenbankdienst Amazon DocumentDB ist kompatibel mit MongoDB und soll doppelt so viel Durchsatz bieten wie vergleichbare Lösungen. Wer bisher eigene Server oder EC2 nutzte, kann seine Anwendungen nahezu ohne Auszeit migrieren. lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 44735358 / Definitionen)