Sowohl Cassandra als auch PostgreSQL unterstützen Linearisierbarkeit und Compare-and-Set (CAS), sodass Sie Transaktionen auf der Client-Seite implementieren können.
Wenn Sie eine serialisierbare Isolationsstufe wünschen, sollten Sie einen Blick auf die Transaktionen von Percolator werfen . Die Transaktionen des Perkolators sind in der Branche ziemlich bekannt und wurden in Amazons verwendet DynamoDB-Transaktionsbibliothek , in der CockroachDB-Datenbank und im Pecolator-System von Google selbst. Eine Schritt-für-Schritt-Visualisierung der Transaktionen des Perkolators können Ihnen helfen, es zu verstehen.
Wenn Sie mit Konflikten rechnen und mit der Isolationsstufe Read Committed umgehen können, dann RAMP-Transaktionen von Peter Bailis könnte Ihnen gefallen. Ich habe auch eine RAMP-Visualisierung Schritt für Schritt erstellt .
Der dritte Ansatz besteht darin, kompensierende Transaktionen zu verwenden, die auch als Saga-Muster bekannt sind. Es wurde Ende der 80er Jahre in den Sagas Papier, wurde aber mit dem Aufkommen verteilter Systeme aktueller. Siehe Anwenden des Saga-Musters Lassen Sie sich inspirieren.