我读到了关于Tarantool的文章,他们似乎说AOF和WAL的工作方式不同。
Tarantool:除了快照,它还有一个完整的WAL (先写日志).因此,它可以在每次事务开箱后确保数据的持久性。事实上,它只有快照。从技术上讲,您有AOF (仅添加文件,所有操作都在这里编写),但它需要手动控制,包括重新启动后的手动恢复。简单地说,使用Redis,您需要不时手动挂起服务器,创建快照并存档AOF。
有谁能更清楚地解释两种策略的不同之处,以及每一种策略在高层次上的工作方式。
我一直认为Redis对SQL数据库事务日志的工作方式与Postgresql实现的相同,但我可能错了。
发布于 2016-12-04 17:16:04
AOF是Redis的主要持久性选项。每当有一个写操作修改内存中的数据集时,该操作就会被记录下来。因此,在重新启动期间,Redis将重播所有的操作来重建数据集。您还可以选择3种不同的fsync配置策略(不,每个秒,总是这样)。FWIW,通常建议在需要良好的数据安全级别时,同时使用AOF + RDB。这有点超出了你问题的范围,但我想我应该提一下。
红系持久性神秘主义
Tarantool使用的是一个叫做"WAL作家“的东西。这将在单独的线程和日志请求中运行,这些请求操作数据“插入和更新请求”。在重新启动时,Tarantool通过读取WAL文件并重播每个请求来恢复。
很明显,他们的内部结构是不同的,但是在很高的水平上,他们是非常相似的。本文中的持久性比较非常奇怪,而且根本不正确。
有关低级别差异的更多信息,请参阅上面列出的文档。
希望这有帮助
发布于 2021-10-01 06:54:59
红色信息系统:
write syscall完成。Tarantool:
https://stackoverflow.com/questions/40939756
复制相似问题