【问题标题】:Tarantool WAL vs Redis AOFTarantool WAL 与 Redis AOF
【发布时间】:2020-07-16 16:13:13
【问题描述】:

启用AOF(仅附加文件)参数的Redis 只能丢失一秒钟的数据。我知道Tarantool默认有wal_move='write',因为这种模式为vinylmemtx提供数据持久化,在什么情况下会导致数据丢失无法恢复?

问题的第二部分: 对于vinylmemtx,您特别推荐none/write/fsync 设置什么wal_mode

我想得到一个建设性的答案,因为之前有人问过类似的问题,但提出了更多的问题,他没有给出明确的答案: Difference between Redis AOF and Tarantool WAL log

【问题讨论】:

    标签: tarantool


    【解决方案1】:

    Wal-mode write' 可能丢失不超过 1 条记录(在服务器硬重启的情况下); wal-mode fsync 永远不会丢失数据。

    您可以在此处参考 tarantool 文档:https://www.tarantool.io/en/doc/1.10/reference/configuration/#confval-wal_mode

    这意味着对于write 模式,在write 系统调用成功之前不会向客户端确认每个操作,而对于fsync 模式,直到后续的fsync 系统调用成功后才会确认。

    因此,fsync 模式“从不”丢失数据 - 因为它在回复客户端之前已保存在磁盘上。 write 模式可能会在系统重新启动期间丢失数据 - 数据已被操作系统缓冲区接受但未刷新到磁盘。在典型的工作负载中,我们遇到过单个操作在这种情况下丢失的情况。

    【讨论】:

      猜你喜欢
      • 2017-04-17
      • 1970-01-01
      • 2016-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多