如果在 WiredTiger 存储引擎中禁用日志记录,数据何时写入磁盘
When is data written to disk if journaling is disabled in WiredTiger storage engine
我无法从 docs 中得到明确的答案,即当 禁用日志记录 时,当数据实际保存到 WiredTiger 存储引擎中的磁盘时.
MongoDB sets checkpoints to occur in WiredTiger on user data at an interval of 60 seconds or when 2 GB of journal data has been written, whichever occurs first.
50 milliseconds since 3.2
它还说
WiredTiger uses checkpoints to provide a consistent view of data on disk and allow MongoDB to recover from the last checkpoint.
但是当我在禁用日志.
的情况下启动服务器时,不清楚数据以什么间隔永久写入磁盘
因此,数据在每个检查点(50 毫秒间隔)刷新到磁盘,有或没有日志记录。日志记录从最后一个检查点到 mongod 不干净地退出时的变化。
因此,如果您在失败时启用了日记功能,那么在禁用日记功能的情况下启动服务器将使 mongod 重播从最后一个检查点到故障点的更改,否则所有内容都应该已经刷新到磁盘到最后一个检查点,并且 mongod 创建一个新的检查点.
这里有更多信息https://docs.mongodb.com/manual/core/wiredtiger/#snapshots-and-checkpoints
我无法从 docs 中得到明确的答案,即当 禁用日志记录 时,当数据实际保存到 WiredTiger 存储引擎中的磁盘时.
MongoDB sets checkpoints to occur in WiredTiger on user data at an interval of 60 seconds or when 2 GB of journal data has been written, whichever occurs first.
50 milliseconds since 3.2
它还说
WiredTiger uses checkpoints to provide a consistent view of data on disk and allow MongoDB to recover from the last checkpoint.
但是当我在禁用日志.
的情况下启动服务器时,不清楚数据以什么间隔永久写入磁盘因此,数据在每个检查点(50 毫秒间隔)刷新到磁盘,有或没有日志记录。日志记录从最后一个检查点到 mongod 不干净地退出时的变化。
因此,如果您在失败时启用了日记功能,那么在禁用日记功能的情况下启动服务器将使 mongod 重播从最后一个检查点到故障点的更改,否则所有内容都应该已经刷新到磁盘到最后一个检查点,并且 mongod 创建一个新的检查点.
这里有更多信息https://docs.mongodb.com/manual/core/wiredtiger/#snapshots-and-checkpoints