Das Ziel dieser Arbeit ist es, die Hintergründe für das Entstehen von NoSQL-Datenbankenkonzepten und deren speziellen Eigenschaften zu untersuchen. Dabei soll auch geprüft werden, wie sich der neue Datenbanktyp von klassischen, relationalen Datenbanken abgrenzt, welche speziellen Anwendungsfelder existieren und welche Vor- und Nachteile es gegebenenfalls gibt.
Anknüpfend an die Einleitung im ersten Kapitel erfolgt die Darstellung relationaler Datenbanken und NoSQL-Datenbankenkonzepte im zweiten und dritten Kapitel. In diesen werden Hintergründe sowie wichtige Begrifflichkeiten definiert und erläutert. Das vierte und fünfte Kapitel bildet den Schwerpunkt dieser Arbeit. In diesem werden Unterschiede der beiden Datenbanktypen herausgearbeitet und anschließend zwei Anwendungsfelder sowie Vor- und Nachteile skizziert. Abschließend erfolgt in der Schlussbetrachtung eine kurze Zusammenfassung der Ergebnisse.
Inhaltsverzeichnis
1. Einleitung
1.1 Problemstellung und Relevanz
1.2 Ziel dieser Arbeit
1.3 Aufbau dieser Arbeit
2. Relationale Datenbanken
3. NoSQL-Datenbanken
4. Unterschiede zwischen relationalen und NoSQL-Datenbanken
4.1 Key-Value-Datenbank vs. relationale Datenbanken
4.2 Document-Store-Datenbanken vs. relationale Datenbanken
4.3 Wide-Column-Store-Datenbanken vs. relationale Datenbanken
4.4 Graph-Store-Datenbanken vs. relationale Datenbanken
5. Anwendungsfelder
5.1 Graph-Store-Datenbank: Neo4j
5.2 Wide-Column-Stores-Datenbank: Cassandra
6. Schlussbetrachtung
Zielsetzung und Themen
Die vorliegende Arbeit untersucht die Hintergründe für das Aufkommen von NoSQL-Datenbanken und analysiert deren spezifische Eigenschaften im Vergleich zu klassischen relationalen Datenbanken, um Vor- und Nachteile sowie geeignete Anwendungsfelder zu identifizieren.
- Grundlagen relationaler Datenbanken und des ACID-Prinzips
- Entwicklungsgeschichte und Definition von NoSQL-Systemen
- Vergleichende Analyse verschiedener NoSQL-Datenmodelle (Key-Value, Document, Wide-Column, Graph)
- Skalierbarkeit und Performance-Vorteile bei Big-Data-Anwendungen
- Praktische Anwendungsbeispiele anhand von Neo4j und Cassandra
Auszug aus dem Buch
4.2 Document-Store-Datenbanken vs. relationale Datenbanken
Dokumentenorientierte Datenbanken (engl. Document Store) basieren auf Key-Value-Datenbanken. Sie weisen jedoch durch die Zusammenführung mehrerer Schlüssel-Daten-Paaren zu Dokumenten eine weitergehende Strukturierung auf. Jedes Dokument enthält innerhalb der Dokumentensammlung auch einen eindeutig identifizierbaren Schlüssel, jedoch können gleiche Schlüssel ebenfalls in anderen Dokumenten vorkommen. Es herrscht wie in Key-Value-Datenbanken eine komplette Schemafreiheit, was die Speicherung jeglicher Arten von Daten innerhalb von Dokumenten ermöglicht. Diese Flexibilität kommt ebenfalls großen Datenmengen entgegen. Ein Beispiel hierfür wären XML-Datenbanksysteme, welche direkt XML-Dokumente speichern können.
Vorteile liegen in der erhöhten Strukturierung, was die Ablage zusammenhängender Informationen (wie z.B. personenbezogener Daten) innerhalb eines Dokumentes ermöglicht. Zusätzliche Informationen können entsprechend einfach hinzugefügt werden. In relationalen Datenbanken ist dies nicht so einfach möglich, da jeder Datensatz in einer Tabelle einem festen Muster folgt.
Daneben bietet die dokumentenbasierte Datenverwaltung auch Geschwindigkeitsvorteile, da hier Informationen aggregiert werden, wo sie sonst erst über mehrere Tabellen durch Verbünde, den sogenannten SQL-JOINs, hätten zusammengefasst werden müssen. Nachteile dokumentenorientierter Datenbanken sind die begrenzte Eignung zur Speicherung stark vernetzter Daten durch fehlende Beziehungen zwischen den einzelnen Dokumenten. Da es sich um ein nicht relationales Modell handelt, bietet die Datenbank hierfür auch keinerlei Abfragemöglichkeiten und muss daher individuell programmiert werden. Entsprechend eignen sie sich weniger für komplexe Anwendungsfelder bzw. Beziehungen. Die große Schemafreiheit geht einher mit einem höheren Aufwand bei der Abfrageprogrammierung, da erst der Applikationscode ergründet werden muss. Zudem besteht die Notwendigkeit zur Implementierung von Prüfungsmechanismen von den Programmierern direkt in den Anwendungsprogrammen.
Zusammenfassung der Kapitel
1. Einleitung: Diese Einleitung führt in die Problematik wachsender Datenmengen durch die Digitalisierung ein und definiert das Ziel, NoSQL-Datenbankkonzepte sowie deren Abgrenzung zu relationalen Systemen zu untersuchen.
2. Relationale Datenbanken: Das Kapitel erläutert das Relationsmodell und die Funktionsweise von RDBMS unter Berücksichtigung des ACID-Prinzips sowie deren Grenzen bei der Skalierung.
3. NoSQL-Datenbanken: Es wird die historische Entstehung und die Motivation hinter NoSQL-Datenbanken beschrieben, die für hochskalierbare Anwendungen mit flexiblen Anforderungen entwickelt wurden.
4. Unterschiede zwischen relationalen und NoSQL-Datenbanken: Hier erfolgt eine detaillierte Gegenüberstellung der verschiedenen NoSQL-Typen (Key-Value, Document, Wide-Column, Graph) zu relationalen Datenbanken hinsichtlich Struktur, Skalierbarkeit und Eignung.
5. Anwendungsfelder: Dieses Kapitel veranschaulicht anhand der Systeme Neo4j und Cassandra, wie NoSQL-Datenbanken in der Praxis eingesetzt werden.
6. Schlussbetrachtung: Die Arbeit fasst zusammen, dass NoSQL-Datenbanken bei großen Datenmengen überlegen sind, während relationale Datenbanken für strukturierte Datenbestände weiterhin relevant bleiben.
Schlüsselwörter
NoSQL, Relationals Datenbanken, Big Data, Skalierbarkeit, ACID, Key-Value-Datenbank, Document-Store, Wide-Column-Store, Graph-Datenbank, Neo4j, Cassandra, Datenmanagement, Schemafreiheit, Web 2.0, Datenspeicherung
Häufig gestellte Fragen
Worum geht es in dieser Arbeit grundsätzlich?
Die Arbeit behandelt die Entwicklung, die Merkmale und die Bedeutung von NoSQL-Datenbanken im Vergleich zu klassischen relationalen Datenbanksystemen.
Was sind die zentralen Themenfelder der Publikation?
Zentrale Themen sind die Skalierbarkeit von Datenbanken, die verschiedenen NoSQL-Modelle und deren spezifische Vor- und Nachteile in der Anwendung.
Welches primäre Ziel verfolgt die Arbeit?
Das Ziel ist es, die Hintergründe für das Entstehen von NoSQL-Datenbankkonzepten zu untersuchen und zu prüfen, wie sie sich von relationalen Datenbanken abgrenzen.
Welche wissenschaftliche Methode wurde verwendet?
Der Autor führt eine theoretische Analyse und einen vergleichenden Gegenüberstellungsansatz durch, um die Unterschiede in Datenmodellen und Anwendungsfällen systematisch herauszuarbeiten.
Was wird im Hauptteil der Arbeit behandelt?
Der Hauptteil gliedert sich in die theoretische Einführung in relationale und NoSQL-Systeme, einen detaillierten Vergleich der Datenbanktypen sowie eine Untersuchung konkreter Anwendungsbeispiele.
Welche Schlüsselwörter charakterisieren die Arbeit?
Schlüsselbegriffe sind NoSQL, Big Data, Skalierbarkeit, ACID, relationale Datenbanken sowie spezifische Modelle wie Key-Value, Document, Wide-Column und Graphendatenbanken.
Warum stoßen relationale Datenbanken bei Big Data oft an ihre Grenzen?
Sie sind primär auf vertikale Skalierung und ACID-Konformität ausgelegt, was bei sehr großen, unstrukturierten Datenmengen oder komplexen Vernetzungen zu Performance-Einbußen führen kann.
Was macht Neo4j im Kontext von Graphendatenbanken besonders?
Neo4j ermöglicht die effiziente Speicherung und Abfrage stark vernetzter Daten, indem es Knoten und Kanten direkt speichert und somit auf rechenintensive JOIN-Operationen verzichtet.
- Arbeit zitieren
- Joerg Walbaum (Autor:in), 2021, Die Bedeutung von NoSQL-Datenbanken. Merkmale dieses Datenbanktyps und Hintergründe seiner Entstehung, München, GRIN Verlag, https://www.grin.com/document/1007727