2010-05-21 5 views
4

L'API Cassandra prend en charge des mutations par lots:Les mutations par lots sont-elles atomiques chez Cassandra?

batch_mutate (keyspace, mutation_map, consistency_level): exécute les mutations indiquées sur le keyspace. mutation_map est une carte >>; la carte externe mappe la clé de la carte interne , qui mappe la famille de colonnes sur la Mutation; peut être lu comme: carte >>. Pour être plus précis, la touche de carte externe est une clé de ligne, la clé de carte interne est la famille de colonnes . Une mutation spécifie des colonnes à insérer ou des colonnes à supprimer . Voir Mutation et suppression ci-dessus pour plus de détails.

Toutes les mutations qui sont exécutées dans un lot sont-elles exécutées de manière atomique? Donc, si l'une des mutations échoue, les autres échouent aussi?

Répondre

1

Tout ce qui est associé à une clé donnée est atomique (c'est pourquoi batch_mutate autorise plusieurs CF avec une seule clé).

+0

La clé doit être la même, mais l'insert de lot peut être différent pour 2 CF différents. La clé reste la même mais la colonne (nom, valeur) est différente? Cela nous aidera-t-il? – Peter

+0

http://stackoverflow.com/questions/15662657/astyanax-if-a-mutationbatch-fails-halfway-what-guarantees-do-i-have, ici vous avez répondu que même pour différentes clés, il sera atomique, comme le PO a posé des questions sur plusieurs rangées dans plusieurs familles de colonnes. Puis-je insérer à différentes lignes dans différents CF, et s'attendre à certains succès, tout va réussir? – Peter

+0

Lire l'article que j'ai lié dans ce post: l'atomicité multi-clé est garantie en 2013; ce n'était pas en 2010. – jbellis

0

Toutes les mutations pour une clé donnée sont atomiques mais il n'y a pas d'isolation sur les lectures. En outre, il n'y a plus de garanties.

0

Cassandra 1.2-beta1 a ajouté le support pour atomic batch update, here too ...

  • lots atomiques sont désormais pris en charge côté serveur, où Cassandra garantie (au prix de pré-écriture du lot un autre noeud d'abord), toutes les mutations dans le lot seront appliquées, même si le coordinateur échoue au milieu du lot.