根据doc关于Google Cloud Datastore中的事务隔离的说法,write-skew anomalies (ssi-vldb12.pdf#2.1.1)必须是可能的。我说的对吗?
答案 0 :(得分:0)
Cloud Datastore强制执行可序列化的隔离[1]。这意味着每个事务都是按顺序执行的,没有时间[2],[3]重叠。
根据维基百科文章Snapshot isolation:
在写偏斜异常中,两个事务(T1和T2)同时进行 同时读取重叠的数据集(例如值V1和V2) 进行脱节更新(例如T1更新V1,T2更新V2),最后 并发提交,但都没有看到由 其他。 如果系统可序列化,那么这种异常将是 ,因为T1或T2必须先“发生”, 对其他人可见。相反,快照隔离允许写入 偏斜异常。
答案 1 :(得分:0)
答案 2 :(得分:0)
我编写了一些测试来证明数据存储事务隔离(sitano/datastore-writeskew)中的写入偏斜和读取偏斜异常。这些测试未能证明预期的行为。数据存储区事务管理器检测到读写冲突,并中止(重启)事务,这些事务至少在所代表的情况下可能会导致这些异常。