Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cassandra Read Repair如何知道哪些数据是最新的?_Cassandra_Distributed Computing - Fatal编程技术网

Cassandra Read Repair如何知道哪些数据是最新的?

Cassandra Read Repair如何知道哪些数据是最新的?,cassandra,distributed-computing,Cassandra,Distributed Computing,假设协调器接收到读取查询,读取量为2。一个副本返回0,另一个返回1。那个么,协调器如何知道哪个值是最新的,以便可以将其写回。我不知道卡桑德拉是怎么做到的。我不认为它使用的是系统时钟,它到底是如何工作的,请任何人解释一下,在任何文档中都找不到 谢谢。每次写入都会创建一个突变,该突变有一个时间戳。默认情况下,时间戳由客户机设置(对于它们来说是幂等的),但如果不是,则可以在协调器上创建时间戳。写入时间基于时钟(单调的微秒,因此不会在本地发生冲突),并用于确定冲突的获胜者(最后一次写入获胜)

假设协调器接收到读取查询,读取量为2。一个副本返回0,另一个返回1。那个么,协调器如何知道哪个值是最新的,以便可以将其写回。我不知道卡桑德拉是怎么做到的。我不认为它使用的是系统时钟,它到底是如何工作的,请任何人解释一下,在任何文档中都找不到


谢谢。

每次写入都会创建一个突变,该突变有一个时间戳。默认情况下,时间戳由客户机设置(对于它们来说是幂等的),但如果不是,则可以在协调器上创建时间戳。写入时间基于时钟(单调的微秒,因此不会在本地发生冲突),并用于确定冲突的获胜者(最后一次写入获胜)