Réponse courte: Non
De par sa conception, Cassandra valeurs de tolérance de la disponibilité et la partition sur la cohérence 1. Fondamentalement, il n'est pas possible d'obtenir une latence acceptable tout en conservant les trois qualités: l'une doit être sacrifiée. C'est ce qu'on appelle le théorème CAP.
La quantité de cohérence est configurable dans Cassandra en utilisant des niveaux de cohérence, mais il n'existe aucune sémantique pour l'annulation. Il n'y a aucune garantie que vous serez en mesure d'annuler vos modifications même si la première écriture réussit.
Si vous ne souhaitez pas générer d'application avec des transactions ou des verrous sur Cassandra, vous devriez probablement regarder Zookeeper, qui peut être utilisé pour fournir une synchronisation distribuée.
Vous l'avez peut-être déjà deviné, mais Cassandra n'a pas de clés étrangères ou quelque chose comme ça. Cela doit être géré manuellement. Je ne suis pas très familier avec Hector, mais un client de plus haut niveau pourrait être capable de le faire semi-automatiquement. Le fait de savoir si vous pouvez ou non utiliser Cassandra pour remplacer facilement un SGBDR dépend de votre cas d'utilisation spécifique. Dans votre cas d'utilisation (basé sur vos questions), il peut être difficile de le faire.
Merci Lautis. Après avoir examiné toutes les fonctionnalités, nous avons décidé de ne pas opter pour Cassandra et de s'en tenir à la base de données relationnelle. –
Bon fil sur la liste de diffusion cassandra sur les transactions: http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/best-practices-for-simulating-transactions-in-Cassandra-td7064256.html – Zanson
Merci. Bonne réponse! – Amresh