Konfliktlösung (DB)
Wie eine verteilte Datenbank damit umgeht, dass dieselben Daten gleichzeitig an verschiedenen Orten geändert wurden und auseinanderlaufen. Die Strategien reichen von einfachem "Last Write Wins" bis zum Aufbewahren aller Versionen, die dann die Anwendung (oder ein CRDT) zusammenführt.
Strategien: Last-Write-Wins (LWW) — die Version mit dem höchsten Zeitstempel gewinnt (einfach, kann aber stillschweigend Daten verlieren und erfordert synchronisierte Uhren); Siblings behalten — alle konkurrierenden Versionen werden gespeichert (Riak) und Client oder App lösen sie beim nächsten Lesen auf; anwendungsspezifisches Merge (z. B. zwei Warenkörbe per Vereinigung zusammenführen); CRDTs — Datentypen, die Konvergenz ohne Konflikt mathematisch garantieren. Um einen Konflikt überhaupt zu erkennen, braucht es Versionsverfolgung (Vector Clocks). Das ist der Preis für Multi-Leader- bzw. leaderless Verfügbarkeit. Die Wahl hängt ganz vom Datentyp ab und davon, wie schlimm ein verlorenes Update wäre. Verwandt mit CRDT und Vector Clock.