我试图理解这一点。
cassandra 批处理始终是原子的,如果批处理仅修改单个表的单个分区,则该批处理也是隔离的。
但是对于由同一个键分区的多表批次呢?假设这个表:
orders (
order_id pk,
created_at,
user_id
)
order_items (
order_id,
product_id,
quantity,
primary key (order_id, product_id)
)
两个表都由相同的键分区。如果我想自动创建订单,假设 order_id = 123,如下所示:
begin batch
insert into orders ... (123)
insert into order_items .... where order_id = 123
insert into order_items .... where order_id = 123
apply batch
这个批次是原子的并且是隔离的吗?前提是 123 的orders 表分区和123 的order_items 表分区位于同一节点。