启用了AOF (仅附加文件)参数的Redis只能丢失一秒的数据。我知道Tarantool默认有wal_move='write',因为这种模式为vinyl和memtx提供了数据持久化,在什么情况下这会导致无法恢复的数据丢失?
问题的第二部分:您特别推荐用于vinyl和memtx的none/write/fsync的wal_mode设置是什么?
我希望得到一个有建设性的答案,因为之前也有人问过类似的问题,但提出了更多问题,他没有给出明确的答案:Difference between Redis AOF and Tarantool WAL log
发布于 2020-07-16 16:13:14
wal模式write‘可能丢失不超过1条记录(在硬服务器重启的情况下);wal模式fsync从不丢失数据。
你可以在这里参考tarantool文档:https://www.tarantool.io/en/doc/1.10/reference/configuration/#confval-wal_mode
这意味着对于write模式,在write系统调用成功之前,不会向客户端确认每个操作;对于fsync模式,直到后续fsync系统调用成功,才会对其进行确认。
因此,fsync模式“永远”不会丢失数据-因为在回复客户端之前,数据会一直保存在磁盘上。write模式可能会在系统重新启动期间丢失数据-数据已接受到操作系统缓冲区,但未刷新到磁盘。在典型的工作负载中,我们遇到过在这种情况下单个操作丢失的情况。
https://stackoverflow.com/questions/62833738
复制相似问题