Cassandra i PostgreSQL podporují linearizovatelnost a porovnat a nastavit (CAS), takže můžete implementovat transakce na straně klienta.
Pokud chcete úroveň serializovatelné izolace, měli byste se podívat na transakce Percolator . Transakce Percolatoru jsou v oboru poměrně známé a byly použity v Amazonské Knihovna transakcí DynamoDB , v databázi CockroachDB a v samotném systému Google Pecolator. vizualizace krok za krokem transakcí Percolatoru vám může pomoci to pochopit.
Pokud očekáváte spor a dokážete se vypořádat s úrovní izolace Read Committed, pak transakce RAMP od Petera Bailise vám může vyhovovat. Vytvořil jsem také vizualizaci RAMP krok za krokem .
Třetím přístupem je použití kompenzačních transakcí známých také jako vzor ságy. Bylo popsáno na konci 80. let v ságách papír, ale stal se aktuálnější s nárůstem distribuovaných systémů. Přečtěte si prosím Použití vzoru ságy mluvte pro inspiraci.