Typen
:Konstrukte
:Generalisierungen
:Eigenschaften
:Involvierte Definitionen
:Veranstaltung
: DEDSReferenz
: @storl2024 (KE6, NoSQL: Datenmodelle und Techniken; Teil 1.1)
⠀
Definition: NoSQL-Datenbank
Als NoSQL-Datenbank (kurz für Not only SQL) bezeichnen wir Datenbanken, die zur Speicherung und Verwaltung von Daten keine tabellenbasierten relationalen Datenbankstrukturen verwenden.
Charakteristisch für NoSQL-Datenbanken sind die folgenden Eigenschaften innerhalb der beiden Kategorien Datenmodell und Skalierbarkeit:
- Datenmodell
- Nicht-relational
- Schemafreiheit (nicht immer gegeben!)
- Skalierbarkeit
- Verteilt und horizontal skalierbar
- Einfache Replikation
- Eventual Consistency und BASE (statt ACID)
Anmerkung
Keine Joins in NoSQL-Datenbanken?
In NoSQL-Datenbanken werden in der Regel keine Joins unterstützt.
Couchbase und MongoDB bieten mittlerweile eingeschränkte Join-Unterstützung an, diese Joins sind aber in aller Regel, insbesondere, wenn Daten verschiedener Nodes gejoint werden müssen, eine teure Operation.
Heterogenität der Query-API verschiedener NoSQL-Datenbanken
Die APIs der verschiedenen NoSQL-Datenbanken unterscheiden sich mitunter stark.
Eine mögliche Mitigation dieses Problems ist die Nutzung eines Objekt-NoSQL Mappers, der von der Query Sprache des Produktes abstrahiert:
Heterogenität der Query-API verschiedener NoSQL-Datenbanken: