Sia Cassandra che PostgreSQL supportano la linearizzabilità e il confronto e l'impostazione (CAS), quindi puoi implementare le transazioni sul lato client.
Se desideri un livello di isolamento serializzabile, dai un'occhiata alle Transazioni del percolatore . Le transazioni del Percolator sono abbastanza note nel settore e sono state utilizzate nel di Amazon di Amazon Libreria di transazioni DynamoDB , nel database CockroachDB e nello stesso sistema Pecolator di Google. Una visualizzazione passo passo delle transazioni del Percolatore può aiutarti a capirlo.
Se prevedi contese e sei in grado di gestire il livello di isolamento Read Committed, allora Transazioni RAMP di Peter Bailis potrebbe essere adatto a te. Ho anche creato una visualizzazione RAMP passo dopo passo .
Il terzo approccio consiste nell'utilizzare transazioni compensative note anche come modello saga. È stato descritto alla fine degli anni '80 nelle Sagas carta ma è diventato più attuale con l'aumento dei sistemi distribuiti. Consulta Applicazione del modello Saga parla per trovare ispirazione.