Cassandra et PostgreSQL prennent en charge la linéarisabilité et la comparaison et définition (CAS), ce qui vous permet d'implémenter des transactions côté client.
Si vous voulez un niveau d'isolation sérialisable, vous devriez jeter un œil aux Transactions du percolateur . Les transactions du Percolator sont assez connues dans l'industrie et ont été utilisées dans le d'Amazon Bibliothèque de transactions DynamoDB , dans la base de données CockroachDB et dans le système Pecolator de Google lui-même. Une visualisation étape par étape des transactions du Percolateur peut vous aider à le comprendre.
Si vous vous attendez à un conflit et que vous pouvez gérer le niveau d'isolement Read Committed, alors transactions RAMP de Peter Bailis peut vous convenir. J'ai également créé une visualisation RAMP étape par étape .
La troisième approche consiste à utiliser des transactions compensatoires également connues sous le nom de modèle de saga. Il a été décrit à la fin des années 80 dans les Sagas papier, mais est devenu plus réel avec l'essor des systèmes distribués. Veuillez consulter Application du modèle Saga parler pour l'inspiration.