1

我无法从文档中得到明确的答案,即当日志功能被禁用时,数据实际上被保存到 WiredTiger 存储引擎中的磁盘时。

MongoDB 设置检查点在 WiredTiger 中以 60 秒的间隔或在写入 2 GB 的日志数据时发生在用户数据上,以先发生者为准。

自 3.2 起 50 毫秒

它还说

WiredTiger 使用检查点来提供磁盘上数据的一致视图,并允许 MongoDB 从上一个检查点恢复。

但是,当我在禁用日记功能的情况下启动服务器时,尚不清楚数据永久写入磁盘的时间间隔。

4

1 回答 1

3

因此,无论是否使用日志,数据都会在每个检查点(50 毫秒间隔)刷新到磁盘。日志记录从最后一个检查点到 mongod 不干净退出时的更改。

因此,如果您在故障时启用了日志功能,那么在禁用日志功能的情况下启动您的服务器将使 mongod 重播从最后一个检查点到故障点的更改,否则所有内容都应该已经刷新到磁盘到最后一个检查点,并且 mongod 创建一个新的检查点。

更多信息在这里 https://docs.mongodb.com/manual/core/wiredtiger/#snapshots-and-checkpoints

于 2017-05-30T02:32:19.160 回答