NoSQL: Unterschied zwischen den Versionen

Aus KGS-Wiki
(Die Seite wurde neu angelegt: „'''NoSQL (Not only SQL)''' steht für Datenbanksysteme, die einen nicht-relationalen Ansatz verfolgen. Diese Datenbanken skalieren horizontal und eignen sich besonders für Big-Data-Anwendungen. {{Lückenhaft}} Die Architektur von NoSQL-Datenbanken sind auf Größe und Performance ausgelegt. Aufgrund ihres Aufbaus sind für große Datenmengen, wie sie in Big-Data-Anwendungen verwendet werden, gut geeignet. Es gibt verschiedene NoSQL-Ansätze und Date…“)
 
(paar sachen weiter gemacht)
Zeile 12: Zeile 12:
* Key-Value-Datenbanken
* Key-Value-Datenbanken


== Merkmale ==
== Typen ==
'''Dokumentenorientierte Datenbanken:'''
 
Dokumentenorientierte Datenbanken speichern Daten als Dokumente, die in einem bestimmten Format wie [[JSON]] oder [[XML]] vorliegen. Ein solches Dokument kann eine ganze Menge an Informationen speichern, und es ist flexibel genug, um verschiedene Arten von Daten aufzunehmen. Dokumentenorientierte Datenbanken sind eine gute Wahl für Anwendungen, die viele komplexe Datenstrukturen benötigen.
 
'''Key-Value-Datenbanken:'''
 
Key-Value-Datenbanken speichern Daten als Schlüssel-Wert-Paare. Die Daten sind somit unstrukturiert und können beliebig groß sein. Der Schlüssel ist ein eindeutiger [[Identifier]], mit dem auf die gespeicherten Daten zugegriffen werden kann. Key-Value-Datenbanken sind sehr schnell und einfach zu verwenden, was sie zu einer guten Wahl für Anwendungen macht, bei denen schnelle Lese- und Schreibzugriffe erforderlich sind.
 
'''Graphendatenbanken:'''
 
Graphendatenbanken speichern Daten als Knoten und Kanten. Die Knoten repräsentieren [[Entities]] wie Personen oder Orte, während die Kanten Beziehungen zwischen den Knoten darstellen. Graphendatenbanken sind sehr gut geeignet für Anwendungen, die komplexe Beziehungen zwischen Daten haben, wie zum Beispiel [[Social-Media]]-Plattformen oder Empfehlungssysteme.
 
'''Spaltenorientierte Datenbanken:'''
 
Spaltenorientierte Datenbanken speichern Daten in Spalten anstatt in Reihen. Die Daten sind somit in einer [[Matrix]] organisiert, wobei jede Spalte eine bestimmte Art von Daten enthält. Spaltenorientierte Datenbanken sind sehr effizient bei der Verarbeitung von großen Datenmengen und eignen sich daher gut für Anwendungen, die eine hohe Skalierbarkeit erfordern, wie z.B. Business Intelligence oder Data Warehousing.


== Unterschiede ==
== Unterschiede ==
Zeile 76: Zeile 91:


* [https://www.slideshare.net/bscofield/nosql-codemash-2010 https://www.slideshare.net/bscofield/nosql-codemash-2010 🇬🇧]
* [https://www.slideshare.net/bscofield/nosql-codemash-2010 https://www.slideshare.net/bscofield/nosql-codemash-2010 🇬🇧]
 
* [https://www.bigdata-insider.de/was-ist-nosql-a-615718/ https://www.bigdata-insider.de/was-ist-nosql-a-615718 🇩🇪]
{{Navigationsleiste Datenbanken}}
[[Kategorie:Datenbanken]]
[[Kategorie:Datenbanken]]

Version vom 20. März 2023, 10:17 Uhr

NoSQL (Not only SQL) steht für Datenbanksysteme, die einen nicht-relationalen Ansatz verfolgen. Diese Datenbanken skalieren horizontal und eignen sich besonders für Big-Data-Anwendungen.

🕳
Lückenhaft

In diesem Artikel oder Abschnitt fehlen noch wichtige Informationen.

Hilf dem KGS-Wiki, indem du sie recherchierst und einfügst.

Die Architektur von NoSQL-Datenbanken sind auf Größe und Performance ausgelegt. Aufgrund ihres Aufbaus sind für große Datenmengen, wie sie in Big-Data-Anwendungen verwendet werden, gut geeignet.

Es gibt verschiedene NoSQL-Ansätze und Datenbankmodelle, die in vier Hauptkategorien eingeteilt werden können:

  • Dokumenorientierte Datenbanken
  • Graphendatenbanken Datenbanken
  • Spaltenorientierte Datenbanken
  • Key-Value-Datenbanken

Typen

Dokumentenorientierte Datenbanken:

Dokumentenorientierte Datenbanken speichern Daten als Dokumente, die in einem bestimmten Format wie JSON oder XML vorliegen. Ein solches Dokument kann eine ganze Menge an Informationen speichern, und es ist flexibel genug, um verschiedene Arten von Daten aufzunehmen. Dokumentenorientierte Datenbanken sind eine gute Wahl für Anwendungen, die viele komplexe Datenstrukturen benötigen.

Key-Value-Datenbanken:

Key-Value-Datenbanken speichern Daten als Schlüssel-Wert-Paare. Die Daten sind somit unstrukturiert und können beliebig groß sein. Der Schlüssel ist ein eindeutiger Identifier, mit dem auf die gespeicherten Daten zugegriffen werden kann. Key-Value-Datenbanken sind sehr schnell und einfach zu verwenden, was sie zu einer guten Wahl für Anwendungen macht, bei denen schnelle Lese- und Schreibzugriffe erforderlich sind.

Graphendatenbanken:

Graphendatenbanken speichern Daten als Knoten und Kanten. Die Knoten repräsentieren Entities wie Personen oder Orte, während die Kanten Beziehungen zwischen den Knoten darstellen. Graphendatenbanken sind sehr gut geeignet für Anwendungen, die komplexe Beziehungen zwischen Daten haben, wie zum Beispiel Social-Media-Plattformen oder Empfehlungssysteme.

Spaltenorientierte Datenbanken:

Spaltenorientierte Datenbanken speichern Daten in Spalten anstatt in Reihen. Die Daten sind somit in einer Matrix organisiert, wobei jede Spalte eine bestimmte Art von Daten enthält. Spaltenorientierte Datenbanken sind sehr effizient bei der Verarbeitung von großen Datenmengen und eignen sich daher gut für Anwendungen, die eine hohe Skalierbarkeit erfordern, wie z.B. Business Intelligence oder Data Warehousing.

Unterschiede

Im Gegensatz zu relationalen Datenbanken verwenden NoSQL-Datenbanken alternative Datenbankmodelle wie Wertepaare, Objekte, Dokumente oder Listen und Reihen für die Organisation der Daten. Sie sind für Anwendungen optimiert, bei denen SQL-basierte relationale Datenbanken nicht ausreichen. Sie werden oft auch strukturierte Datenspeicher bezeichnet.

Modelle

Einige der bekanntesten NoSQL-Datenbanken sind:

Leistung

Ben Scofield hat die Leistung von NoSQL-Datenbanken wie folgt bewertet:

Datenmodell Leistung Skalierbarkeit Flexibilität Komplexität Funktionalität
Key-Value hoch hoch hoch keine unterschiedlich (keine)
Spaltenorientiert hoch hoch mittel gering minimal
Dokumentenorientiert hoch unterschiedlich (hoch) hoch gering unterschiedlich (gering)
Graphbasiert unterschiedlich unterschiedlich hoch hoch Graphentheorie
RelationalRelational unterschiedlich unterschiedlich gering mittel Relationale Algebra

Weblinks