Involvierte Definitionen
:Veranstaltung
: DEDSReferenz
: @storl2024 (KE6, NoSQL: Datenmodelle und Techniken; Teil 2.2)
⠀
Proposition: NoSQL vs ACID
In der Welt der Datenbanken stehen NoSQL-Datenbanken und ACID-Eigenschaften (Atomicity, Consistency, Isolation, Durability) oft im Kontrast zueinander.
Im Folgenden werden die entsprechenden Konzepte kurz erläutert:
- Atomicity:
- In der Regel haben NoSQL-Datenbanken kein Konzept von “Transaktionen”. Atomizität ist nur für einzelne veränderte Dokumente umsetzbar. Das heißt: ein einzelnes Dokument wird entweder vollständig aktualisiert oder überhaupt nicht.
- Redis, Google Datastore bieten Transaktionen an, wenn sich die Dokumente auf dem selben Node befinden.
- MongoDB bietet auch dann Transaktionen an, wenn die Dokumente sich auf mehreren geshardeten Clustern befinden.
- Consistency: BASE-Prinzipien,
- Isolation: MVCC-Prinzip,
- Durability:
- In-memory only: Standardmäßig halten die meisten NoSQL-Datenbanken neue Updates nur in-memory.
- Write-ahead logging: Einige NoSQL-Datenbanken können so konfiguriert werden, dass sie write-ahead logging unterstützen. Hierbei werden Änderungen zunächst in ein Protokoll geschrieben, bevor sie in die Datenbank übernommen werden. Bei einem Systemfehler können die Protokolleinträge neu angewendet werden.