是否可以在 cassandra 中进行顺序批处理。
Is it possible to do sequential batch in cassandra.
是否可以在 cassandra 中进行顺序批处理。
例如:
insert into table1 并从此插入操作中获取 uuid 并将其传递给 table2 insert 语句。
如果table 2插入失败,则整个操作失败。
如果没有,我最好的选择是什么?
(属于交易性质)
你最好的选择是 Cassandra Batch 声明:
BATCH - Cassandra documentation
结合 "IF EXISTS" 约束条件(如此处:DELETE - Cassandra documentation),它可能就是您所需要的。
但是,我不认为有可能 "insert into table1 and take uuid from this insert operation and pass this to table2 insert statement"。您可以将 C* 中的批处理视为 SQL 中的事务——它是否已完全执行。
重要注意事项:
- 批处理可以跨越 C*
中的多个表
- 虽然批次是原子的,但它们并不是孤立的。可以执行批处理的某些部分,在另一个查询中您可以读取这些更改,但它们可能会被撤销,因为批处理将失败。
是否可以在 cassandra 中进行顺序批处理。 例如: insert into table1 并从此插入操作中获取 uuid 并将其传递给 table2 insert 语句。 如果table 2插入失败,则整个操作失败。
如果没有,我最好的选择是什么?
(属于交易性质)
你最好的选择是 Cassandra Batch 声明: BATCH - Cassandra documentation
结合 "IF EXISTS" 约束条件(如此处:DELETE - Cassandra documentation),它可能就是您所需要的。
但是,我不认为有可能 "insert into table1 and take uuid from this insert operation and pass this to table2 insert statement"。您可以将 C* 中的批处理视为 SQL 中的事务——它是否已完全执行。
重要注意事项:
- 批处理可以跨越 C* 中的多个表
- 虽然批次是原子的,但它们并不是孤立的。可以执行批处理的某些部分,在另一个查询中您可以读取这些更改,但它们可能会被撤销,因为批处理将失败。