从版本1.7.5开始,MongoDB支持所谓的“单服务器持久性”。根据{{3}},这可以通过使用可在服务器崩溃时回复的预写日志来实现。
我无法理解MongoDB文档中“documentation”页面的“提交确认”部分:
您可以使用getLastError命令等待组提交确认。使用
--dur
运行时,fsync:true
选项会在数据物理写入日志(而非实际fsync'ing)后返回 。请注意,组提交间隔(Journaling)相当可观:您可能更喜欢在没有fsync的情况下调用getLastError,或者使用w:参数调用复制。在1.8.0之后的版本中,提交确认的延迟将更短。
这是否意味着日记依赖于操作系统来刷新磁盘更改?或者它是否意味着无论用户是否请求fsync,都会每100ms进行一次写入预测?
答案 0 :(得分:1)
预写日志每隔100ms进行一次fsync。