我们最近遇到了几个数据消失的问题。我们的数据是日志数据。它有复合键,(id,requestdate)。
我们的计划不断在C *中插入新记录。没有删除操作。数据已成功写入,并能够选择数据。但过了一段时间,一些ID的数据消失了。
我们可以想到的一个原因是,我们使用kundera cassandra驱动程序,它将默认写入consistency_level设置为ONE。系统日志中没有错误。
您是否认为此问题是由write consistency_level引起的?感谢。
编辑:我们暂时没有运行节点修复。这会导致数据消失吗?
答案 0 :(得分:2)
如果您在写入后直接进行读取,并且您使用其他副本之一作为协调器,它可能还没有检索到数据。如果您在读取中需要这种一致性,请使用CL.QUORUM进行读/写操作。这个窗口可以安全地假设在~500ms左右通过。见Eventual Consistency != Hopeful Consistency
答案 1 :(得分:1)
一致性,表示在一个副本节点上写入成功后立即返回状态。数据不应该从cassandra消失,除非,写本身从未成功。
如果由于节点向下而导致插入不成功。在这种情况下,请查看暗示的切换。增加暗示手的时间。
你的复制因素是什么?也许可以将其增加到更大的数量,以防止因节点故障而导致服务丢失?