0

是否可以在 cassandra 中进行顺序批处理。例如:插入 table1 并从此插入操作中获取 uuid 并将其传递给 table2 插入语句。如果表 2 插入失败,则整个操作失败。

如果没有,我最好的选择是什么?

(它的交易类型)

4

1 回答 1

0

最好的方法是 Cassandra Batch 语句: BATCH - Cassandra 文档

结合“IF EXISTS”约束(如这里:DELETE - Cassandra 文档),它可能是您需要的。

但是,我不相信有可能“插入 table1 并从此插入操作中获取 uuid 并将其传递给 table2 插入语句”。您可以将 C* 中的批处理视为 SQL 中的事务——它是否已完全执行。

需要注意的重要事项:

  • 批处理可以跨越 C* 中的多个表
  • 尽管批次是原子的,但它们并不是孤立的。可以执行批处理的某些部分,在另一个查询中您可以读取这些更改,但它们可能会因为批处理失败而被撤销。
于 2015-08-17T08:38:43.953 回答