Bibtex

@InCollection{,
  Year    = "2024", 
  Title    = "NoSQL-Datenbanken", 
  Author    = "Müller, Prof. Dr. Susanne", 
  Booktitle    = "Gronau, Norbert ; Becker, Jörg ; Kliewer, Natalia ; Leimeister, Jan Marco ; Overhage, Sven (Herausgeber): Enzyklopädie der Wirtschaftsinformatik – Online-Lexikon",
  Publisher    = "Berlin : GITO",
  Url    = "https://wi-lex.de/index.php/lexikon/informations-daten-und-wissensmanagement/datenmanagement/datenbanksystem/nosql-datenbanken/", 
  Note    = "[Online; Stand 23. June 2024]",
}

NoSQL-Datenbanken

Susanne Müller


NoSQL ist ein Sammelbegriff für nicht-relationale Datenbanken. Er wurde 1998 das erste Mal verwendet. Bezog sich der Begriff zuerst auf Datenbanken, die SQL als Datenbanksprache gar nicht verwen­den, wird der Begriff inzwischen dahingehend verstanden, dass mit NoSQL gemeint ist „Not only SQL“, also Daten nicht in Tabellen gespeichert werden und SQL nicht die einzige in ihnen verwendete Datenbank­spra­che ist (Kaufmann & Meier, 2023, S. 14). Das Aufkommen von NoSQL-Datenbanken ist eng mit dem Begriff Big Data verbunden (Saake, Sattler, & Heuer, 2018, S. 664). Führend bei der Entwicklung von NoSQL-Datenbanken waren die Internet-Unternehmen Google, Yahoo und Amazon.

Motivation

Mit NoSQL-Datenbanken wird auf die Kritik an relationalen Datenbanken reagiert, die u.a. darin besteht, dass sie zuerst die Definition eines Schemas (d.h. von Datenstruk­turen) verlangen, um dann anschließend Daten aufzunehmen, die in dieses Schema hineinpassen, also diesen vordefinierten Strukturen entsprechen. Relationale Datenbanken sind wegen ihrer Mächtigkeit, die mit den in ihnen gelten­den Kon­si­stenz­anforderungen zusammenhängt, nicht flexibel und performant genug, um Daten in beliebiger Form und großer Menge aufzunehmen und zu verarbeiten. In ihnen ist es nicht möglich, die Strukturen der Daten gar nicht oder erst in dem Moment zu definieren, wenn sie in die Datenbank aufgenommen werden sollen. SQL ist mit seinem mengenorien­tierten Ansatz und seiner Anlehnung an die englische Sprache zwar eine gut erlernbare, anwender­freundliche Sprache, fußt aber auf der Definition von Schemata, also auf dem Vorliegen von Datenstrukturen. SQL ist damit eng mit dem relationalen Prinzip verbunden.

Ziele und Prinzipien

Das Ziel von NoSQL-Datenbanken besteht darin, Daten in großen Mengen, auch unstrukturierter Art, effizient zu speichern und mit geringen Latenzzeiten (d.h. performant) zu verarbeiten. NoSQL-Datenbanken sind auf horizontale Skalierbarkeit, d.h. die nach Bedarf parallele Verarbeitung auf mehreren, bis zu tausenden, Rechner­knoten ausgelegt (DataScientest, 2023). Sie speichern Daten in der Regel verteilt. Der Verfügbarkeit und Ausfallsicherheit wird höhere Priorität eingeräumt als der Konsistenz (vgl. CAP-Theorem (Kaufmann & Meier, 2023, S. 163)). Dazu werden auch Daten in großem Umfang repliziert, d.h. mehrfach gespeichert. Zugunsten der Verfügbarkeit und Performanz wird in NoSQL-Datenbanken das strenge ACID-Prinzip, das in relationalen Datenbanken zur Konsistenzsicherung gilt (Kaufmann & Meier, 2023, S. 252), durch das BASE-Prinzip ersetzt. In letzterem ist Konsistenz vergleichsweise nachranging. Das ist ein Nachteil von NoSQL-Datenbanken, der sie für viele Datenbankanwendungen, in denen immerwäh­rende Vollständigkeit und Konsistenz ein Muss sind (z.B. ERP-Systeme), ungeeignet macht. Für NoSQL-Datenbanken werden daher kontinuierlich bessere Konsistenzmechanismen implementiert (Saake, Sattler, & Heuer, 2018, S. 683).

Implementierung und Datenbankmodelle

NoSQL-Datenbanken sind im Gegensatz zu relationalen Datenbanken recht heterogen hinsichtlich der Art und Weise, wie sie die Daten speichern und verarbeiten. Gemeinsam ist ihnen, dass vor der Speicherung kein Schema definiert werden muss, sie nennen sich schemalos. Je nach Typ werden sie auch als schema-arm bezeichnet, da das Schema praktisch flexibel beim Eintreffen der Daten mit definiert wird. Es gibt verschiedene Subtypen, die unterschiedliche Datenbankmodelle besitzen. Die bekanntesten Subtypen sind

  • Document Stores
  • Key Value Stores
  • Wide Column Stores (auch Column Family Stores genannt)
  • Graph Stores (Weber, Roland, Lux, & Menke, 2022, S. 154-155)

Diese Typen lassen sich gelegentlich nicht exakt auseinanderhalten. Beispielsweise sind Wide Column Stores Weiterentwicklungen von Key Value Stores. Auch geben Hersteller an, dass ihre Datenbanken mehreren dieser Typen angehören. Es lassen sich noch weitere Datenbankmodelle den NoSQL-Datenbanken zuordnen.

Nutzung

Die Online-Datenverarbeitung, wie sie in so genannten OLTP-Systemen (z.B. ERP-Systemen) stattfindet, bildet nicht den Schwerpunkt der Nutzung von NoSQL-Datenbanken. Sie sind eher darauf ausgelegt, entweder Inhalte wenig strukturierter Form schnell anzubieten, für die keine Transaktionsverarbeitung nach dem ACID-Prinzip erfolgen muss. Sie werden also dort eingesetzt, wo die Performanz und Verfügbarkeit, nicht die Konsistenz, im Vordergrund steht. Ein Beispiel dafür sind soziale Netzwerke. Auch können sie Analysemöglichkeiten für große Datenmengen bieten. Dies passiert je nach Anwendungsfall in Echtzeit, muss es aber nicht. NoSQL-Datenbanken bieten vermehrt Schnittstellen an, die es ermöglichen, Daten mit SQL oder einer SQL-ähnlichen Syntax auszuwerten. Auch kommt es vor, dass NoSQL-Datenbanken als Ergänzung zu relationalen Datenbanken in der gleichen Anwendung eingesetzt werden.


Literatur

DataScientest. (2023). Horizontal Scaling: Definition, Besonderheiten und Vorteile. Paris, Frankreich. Abgerufen am 26. 1. 2024 von https://datascientest.com/de/horizontal-scaling-definition-besonderheiten-und-vorteile

Kaufmann, M., & Meier, A. (2023). SQL- & NoSQL-Datenbanken (9. Ausg.). Berlin, Heidelberg: Springer Vieweg. doi:https://doi.org/10.1007/978-3-662-67092-7

Saake, G., Sattler, K.-U., & Heuer, A. (2018). Datenbanken – Konzepte und Sprachen (6. Ausg.). Frechen: mitp.

Weber, P., Roland, G., Lux, T., & Menke, K. (2022). Basiswissen Wirtschaftsinformatik (4. Ausg.). Wiesbaden: Springer Vieweg. doi:https://doi.org/10.1007/978-3-658-35616-3

Hier weiterverbreiten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert