我们有一个来自3个节点的集群。我有一个名称空间用于存储操作历史记录,我在其中一个集合上执行了大量 删除 操作,之后从头开始迁移数据。
出于某种原因,一段时间后一个节点出现故障,我们需要重新加载集群,后来我们遇到大部分新数据丢失,一些已删除的数据被恢复。
您能帮助我们避免这种行为,因为我们需要保持一致性。
Aerospike版本为3.7.4
以下是命名空间的配置:
namespace dar_history {
replication-factor 2
memory-size 4G
default-ttl 0 # 30 days, use 0 to never expire/evict.
storage-engine device {
file ../dar_history.dat
filesize 32G
data-in-memory true # Store data in memory in addition to file.
}
}
答案 0 :(得分:3)
Aerospike 3.10.0为Aerospike Enterprise引入durable deletes。详细了解他们如何在此工作:https://www.aerospike.com/docs/guide/durable_deletes.html。
此处讨论了社区版的一些替代解决方案:https://discuss.aerospike.com/t/expired-deleted-data-reappears-after-server-is-restarted/470/22。
答案 1 :(得分:0)
我们通过备份数据,然后重新启动群集,从备份导入数据,重新创建我们拥有的所有索引以及删除旧的不必要数据来解决问题。 谢谢大家的回复。