ScholarGate
Assistent

NoSQL-Datenspeicher

NoSQL-Datenspeicher sind nicht-relationale Datenbanken – Schlüssel-Wert-, Dokument-, Spalten- und Graphdatenbanken –, die flexible Datenmodelle und Verteilungsstrategien anwenden, um horizontal zu skalieren und verfügbar zu bleiben, allerdings auf Kosten einiger relationaler Garantien.

Thema finden mit PaperMindDemnächstFind papers & topics
Tools & resources
Folien herunterladen
Learn & explore
VideoDemnächst

Definition

Ein NoSQL-Datenspeicher ist eine Datenbank, die vom relationalen Modell abweicht, Daten als Schlüssel-Wert-Paare, Dokumente, breite spärliche Spalten oder Graphen organisiert und sie typischerweise über einen Cluster mit Replikation und gelockerter Konsistenz verteilt, um Skalierbarkeit und Verfügbarkeit zu erreichen.

Scope

Dieses Thema behandelt die Hauptkategorien von NoSQL-Systemen und deren Datenmodelle: Schlüssel-Wert-Speicher für einfache Abfragen, Dokumentenspeicher für verschachtelte Datensätze, Spaltenspeicher für spärliche, große Tabellen und Graphdatenbanken für stark vernetzte Daten. Es behandelt die Designentscheidungen, die diesen Systemen gemeinsam sind – Sharding, Replikation und abstimmbare Konsistenz – sowie die Zugriffsmuster, für die jedes Modell geeignet ist. Es schließt die breite Konsistenztheorie (CAP und Konsistenzmodelle) und Verarbeitungsframeworks aus, die angrenzende Themen sind.

Core questions

  • Welches Datenmodell bietet jede NoSQL-Kategorie (Schlüssel-Wert, Dokument, Spalte, Graph)?
  • Welche Zugriffsmuster und Arbeitslasten eignen sich für jede Kategorie?
  • Wie sharden und replizieren NoSQL-Speicher Daten für Skalierung und Verfügbarkeit?
  • Welche relationalen Merkmale (Joins, Transaktionen, Schemata) werden gelockert und warum?
  • Wie ermöglichen abstimmbare Konsistenzeinstellungen Anwendungen, Latenz und Aktualität auszugleichen?

Key concepts

  • Schlüssel-Wert-Speicher
  • Dokumentenspeicher
  • Spaltenspeicher
  • Graphdatenbank
  • Sharding und Replikation
  • abstimmbare Konsistenz
  • Schemaflexibilität
  • denormalisierte Zugriffsmuster

Key theories

Schlüssel-Wert- und Spaltenmodelle
Schlüssel-Wert-Speicher ordnen undurchsichtige Schlüssel Werten für einfache, schnelle Abfragen zu, während Spaltenspeicher Daten in Zeilen mit flexiblen, spärlichen Spaltenfamilien organisieren; beide, exemplifiziert durch Dynamo und Bigtable, skalieren auf riesige Cluster mit Sharding und Replikation.
Dokumenten- und Graphmodelle
Dokumentenspeicher enthalten selbstbeschreibende verschachtelte Datensätze (oft JSON) und unterstützen Abfragen über deren Struktur, während Graphdatenbanken Entitäten und Beziehungen als Knoten und Kanten modellieren, optimiert für die Traversierung stark vernetzter Daten.
Gelockerte Garantien für Skalierbarkeit
Um horizontal zu skalieren und verfügbar zu bleiben, lockern viele NoSQL-Speicher Schemata, verzichten auf zeilenübergreifende Transaktionen und Joins und bieten abstimmbare oder letztendliche Konsistenz, wodurch ein Teil der Verantwortung für die Integrität auf die Anwendung verlagert wird.

Clinical relevance

NoSQL-Speicher sind weit verbreitete Bausteine von Internetdiensten: Schlüssel-Wert- und Spaltenspeicher unterstützen Sitzungszustände, Kataloge und Zeitreihendaten in massivem Umfang, Dokumentenspeicher eignen sich für flexible Anwendungsdaten, und Graphdatenbanken treiben Empfehlungs- und Betrugserkennungssysteme an, wodurch die Kenntnis ihrer Modelle für das Data Engineering unerlässlich ist.

History

Die NoSQL-Bewegung entstand aus dem Bedarf von Internetunternehmen, über Einzelknoten-relationale Datenbanken hinaus zu skalieren. Googles Bigtable (2006/2008) führte das Spaltenmodell ein und Amazons Dynamo (2007) das hochverfügbare, letztlich konsistente Schlüssel-Wert-Modell; diese einflussreichen Designs führten Ende der 2000er und 2010er Jahre zu einer Generation von Open-Source-Schlüssel-Wert-, Dokumenten-, Spalten- und Graphdatenbanken.

Key figures

  • Werner Vogels
  • Jeffrey Dean
  • Sanjay Ghemawat

Related topics

Seminal works

  • decandia2007
  • chang2008

Frequently asked questions

Wie wähle ich zwischen Schlüssel-Wert-, Dokumenten-, Spalten- und Graphspeichern?
Passen Sie das Modell an das Zugriffsmuster an: Schlüssel-Wert für einfache Abfragen nach einem bekannten Schlüssel; Dokument für eigenständige, verschachtelte Datensätze, die nach ihren Feldern abgefragt werden; Spalten für sehr große, spärliche Tabellen mit vorhersehbarem Zeilenschlüsselzugriff; und Graph für Daten, die von Beziehungen und Traversierungen dominiert werden, wie soziale Netzwerke oder Empfehlungen.
Unterstützen NoSQL-Speicher Transaktionen?
Historisch gesehen boten viele NoSQL-Speicher nur atomare Operationen für einzelne Schlüssel und keine Transaktionen über mehrere Datensätze hinweg, um Skalierbarkeit zu erreichen. Das hat sich geändert: Eine Reihe moderner NoSQL- und 'NewSQL'-Systeme bieten heute Multi-Dokument- oder sogar verteilte Transaktionen, sodass die Transaktionsunterstützung stark variiert und pro System überprüft werden sollte.

Methods for this concept

Related concepts