我是分布式数据库的新手,有几件事我想不通。
我们正在开发一个应用程序,需要选择合适的数据库,这个应用程序需要与用户相关的财务数据的强一致性,比如存款和取款。我想知道Cassandra 中的可调一致性,特别是法定人数级别的一致性。
想象以下场景:
复制因子为3。
用户John在所有副本上的初始余额为10 。
在时间t1,John 的余额正在发生更新,将其减少到7(CL=quorum),
同时,在时间t1,读取操作正在运行,并且在quorum上设置了一致性级别,在这种情况下为2。执行更新
查询
的节点上的副本是否可能未被选择用于仲裁?如果是这样,由于没有写锁
而假设操作结果为 10 是否正确?
总的来说,我想知道约翰是否有可能以某种方式利用这一点并花费超过他账户余额的钱。
谢谢。read
主页
/
user-139337