我在Windows机器上有一个.NET应用程序,在Linux(CentOS)服务器上有一个Cassandra数据库。 Windows机器有时可能会在几秒钟内,当发生这种情况时,删除或更新查询不会生效。
Cassandra是否要求所有服务器都具有相同的时间? Cassandra驱动程序是否使用时间戳发送我的查询? (我只是编写简单的删除或更新查询,没有时间戳或TTL)。
更新:我使用Datastax C# driver
答案 0 :(得分:5)
Cassandra在最后的写作胜利"原理。因此,系统时间对于确定哪些写入成功至关重要。 Google for" cassandra time synchronization"找到results like this和this来解释为什么时间同步很重要,并建议一种利用内部NTP池解决问题的方法。这些文章特别指AWS架构,但主体适用于任何cassandra安装。
答案 1 :(得分:2)
客户端时间戳用于相对于彼此订购变异操作。
DataStax C# driver uses a generator to create them,运行客户端驱动程序(执行请求的来源)的所有主机都必须让时钟彼此同步。