Tanto Cassandra como PostgreSQL admiten linealización y comparación y configuración (CAS), por lo que puede implementar transacciones en el lado del cliente.
Si desea un nivel de aislamiento serializable, debería echar un vistazo a las transacciones de Percolator . Las transacciones de Percolator son bastante conocidas en la industria y se han utilizado en Amazon Biblioteca de transacciones de DynamoDB , en la base de datos CockroachDB y en el propio sistema Pecolator de Google. Una visualización paso a paso de las transacciones del Percolator puede ayudarte a entenderlo.
Si espera contención y puede lidiar con el nivel de aislamiento de lectura confirmada, entonces transacciones RAMP por Peter Bailis puede ser adecuado para usted. También creé una visualización RAMP paso a paso .
El tercer enfoque consiste en utilizar transacciones de compensación, también conocidas como patrón de saga. Fue descrito a finales de los 80 en las Sagas papel, pero se hizo más actual con el surgimiento de los sistemas distribuidos. Consulte Aplicación del patrón Saga habla para inspirarte.