Definition

Was ist NoSQL?

| Autor / Redakteur: Tutanch / Nico Litzel

(© aga7ta - Fotolia)

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

Die wichtigsten Big-Data-Technologien

Überblick

Die wichtigsten Big-Data-Technologien

Big-Data-Anwendungen basieren nicht auf einer einzigen Technologie, sondern sind im Grunde ein Zusammenspiel verschiedener Innovationen. Dafür reichen jedoch herkömmliche Technologien wie zum Beispiel klassische Datenbanken, Data Warehouse- oder Reporting-Lösungen bei weitem nicht aus. lesen

Neue Version der Couchbase-Datenplattform geht an den Start

Update angekündigt

Neue Version der Couchbase-Datenplattform geht an den Start

Couchbase hat die neueste Version der Couchbase-Datenplattform mit dem Couchbase Server vorgestellt. Zum erweiterten Funktionsumfang gehören neue Analytics Services, die das Abrufen und Einsehen von Daten in Echtzeit ermöglichen. lesen

Couchbase stellt kommerzielle SQL++-Implementierung vor

Launch von N1QL for Analytics

Couchbase stellt kommerzielle SQL++-Implementierung vor

Mit dem Start von N1QL for Analytics hat Couchbase die erste kommerzielle Implementierung einer Query-Language vorgestellt, die zum SQL++-Sprachframework kompatibel ist. lesen

Crate.io rüstet Azure für Echtzeit-SQL-Zeitreihen

CrateDB Event Hub Listener

Crate.io rüstet Azure für Echtzeit-SQL-Zeitreihen

Ab sofort ist der CrateDB Event Hub Listener für die NoSQL-Datenbank verfügbar. Die neue Funktion ermöglicht das Routing von Daten über den Microsoft Azure IoT Hub oder Event Hubs direkt an die CrateDB. lesen

Hakom stellt Big Energy Data Suit vor

Big-Data-Paket für die Energiewirtschaft

Hakom stellt Big Energy Data Suit vor

Die Hakom Solutions GmbH, ein Anbieter von Energiedatenmanagement-Systemen, erweitert sein Angebot um ein Highend-Paket. lesen

Studie – neue Herausforderungen für Datenbankadministratoren

Kommentar von Ales Zeman, Quest Software

Studie – neue Herausforderungen für Datenbankadministratoren

Neue Endgeräte, neue Arten der Datenentstehung – auf Datenbankadministratoren kommt im Zeichen des technischen Wandels und der veränderten Erwartungshaltung der Nutzer einiges zu. Das Forschungsinstitut Unisphere Research hat dazu im Auftrag von Quest eine Studie mit dem Titel „Neue Herausforderungen für DBAS: Trends in der Datenbankverwaltung“ erstellt. lesen

Oracles autonome Datenbank gibt es nur als Service

Data Warehouse Workloads

Oracles autonome Datenbank gibt es nur als Service

Im Herbst 2017 auf der „OpenWorld“ angekündigt, hat Oracle die „Autonomous Database“ jetzt freigegeben – allerdings nicht für den Do-it-yourself-Betrieb. Die Datenbank-Software, die sich selbst administrieren soll, läuft entweder im Rechenzentrum des Anbieters oder als von Oracle gemanagte Lösung beim Kunden („Oracle at Customer“). Der Service für Data Warehouse Workloads ist laut Oracle der erste in einer ganzen Reihe weiterer „autonomer“ Dienste. lesen

10 Jahre Apache Cassandra – der steinige Weg zum Gipfel

Kommentar von Patrick McFadin, DataStax

10 Jahre Apache Cassandra – der steinige Weg zum Gipfel

Viele der technologischen Entwicklungen unserer Zeit müssen sich auf einen langen und steinigen Weg machen, ehe sie von den Menschen, die sie tagtäglich nutzen, wirklich akzeptiert werden. So auch das NoSQL-Datenbanksystem Apache Cassandra. lesen

Oracles autonome Datenbank gibt es nur als Service

Data Warehouse Workloads

Oracles autonome Datenbank gibt es nur als Service

Im Herbst 2017 auf der „OpenWorld“ angekündigt, hat Oracle die „Autonomous Database“ jetzt freigegeben – allerdings nicht für den Do-it-yourself-Betrieb. Die Datenbank-Software, die sich selbst administrieren soll, läuft entweder im Rechenzentrum des Anbieters oder als von Oracle gemanagte Lösung beim Kunden („Oracle at Customer“). Der Service für Data Warehouse Workloads ist laut Oracle der erste in einer ganzen Reihe weiterer „autonomer“ Dienste. 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)