我知道在 Cassandra 中,除非您明确要求,否则没有强一致性(即使这样,也没有事务)。
但是,我对一致性的“顺序”感兴趣。举个例子:
在一个数据库节点中,有 3 个节点(A、B 和 C)。两个插入查询是通过相同的 CQL 连接发送的(或者就此而言,我认为这与这个问题无关)。两者都在不同的表上运行(这可能是相关的)。
INSERT INTO table_a (id) VALUES (0)
INSERT INTO table_b (id) VALUES (1)
在问题被发送到的节点上成功执行后,它立即关闭。该节点可能成功也可能未成功将这两个查询传播到 B 和 C。
现在,我认为有一个一致性的顺序。要么两者都在 B 和 C 上成功传播和执行,要么只有第一个查询是,或者两者都是。我认为,在任何情况下都不会传播和执行第二个查询,而不是第一个(因为 tcp 数据包的顺序,以及显然所有节点共享相同的一致性策略的事实)。
我对吗?