批量突变是否在Cassandra中是原子的?

时间:2010-05-21 12:02:17

标签: cloud cassandra key-value

Cassandra API支持批量突变:

  

batch_mutate(keyspace,mutation_map,   consistency_level):执行   密钥空间上指定的突变。   mutation_map是一个地图>&gt ;;该   外部地图将键映射到内部   map,将列族映射到   变异;可以理解为:map>>。更具体,   外部映射键是一个行键,即   内部映射键是列族   名称。变异指定了   要插入的列或列   删除。请参见变异和删除   上面有更多细节。

批量执行的所有突变都是原子执行的吗?因此,如果其中一个突变失败,那么其他突变也会失败吗?

3 个答案:

答案 0 :(得分:1)

与给定密钥关联的所有内容都是原子的(这就是为什么batch_mutate允许多个CF使用单个密钥)。

答案 1 :(得分:0)

给定密钥的所有突变都是原子的,但读取时没有隔离。 除此之外,没有更多的保证。

答案 2 :(得分:0)

Cassandra 1.2-beta1增加了对atomic batch updatehere too的支持......

  
      
  • 现在支持服务器端的原子批次,Cassandra将在那里    保证(以预先将批次写入另一个节点的价格)    首先),批次中的所有突变都将被应用,即使是    协调员在批次中间失败。
  •