Cassandra 中的轻量级事务性能

Light-weight-transaction Performance in Cassandra

根据 cassandra 文档,LWT 性能很差。在以下情况下;

场景一;

在这种情况下,上述步骤是在不同的线程中处理的。 Thread1 从 cassandra 读取数据,然后将其传递给 thread2。然后thread1会尽快查询新的数据。这将提高性能。但是cassandra上会有2个连接。

场景二;

在这种情况下,只有一个线程会向cassandra 发送查询。如果 LWT 性能真的很差,这会降低整体性能。

我不确定哪个更好。 LWT 性能真的很差吗?

如果您保证同一主键不会出现线程间的竞争条件,那么您应该继续使用先读后写的方法。

LWT 经历 4 个阶段的过程,准备、读取、提议、提交 - 这可能导致该过程比单个操作花费 4 倍的时间,因为它需要在充当协调器的节点之间进行 4 次往返/ 提议者和交易中涉及的副本。