Changed in version 3.2: With j: true, MongoDB returns only after the requested number of members, including the primary, have written to the journal.
另外,仅仅j:true 不保证集群 failover 时发生回滚的写操作 。
j: true does not by itself guarantee that the write will not be rolled back due to replica set primary failover.
wtimeout:返回确认的超时时间,单位为毫秒 。
如果写入操作超过该值,则返回错误,即使最终写入是成功了,但数据库不会撤销超时写入的数据 。如果没有指定 wtimeout 值,则写入操作将无限期阻塞,wtimeout:0 等同于该选项未设置值 。同时,这个参数和 WriteConncern 的w值有关,并且只适用于w大于0的情况 。比如:w:0,表示可以超时无限大,则不返回错误;w:1,只和主节点确认的超时时间;w:majority,表示需要和多数节点确认超时时间 。
?数据提交策略?MongoDB也有和MySQL有类似的提交策略,是由 commitIntervalMs 参数控制,它是日志持久化的间隔时间(以毫秒为单位) 。如果想要更好的数据安全,可以设为每毫秒对cache中的数据做硬盘层面的sync;如果需要更好的写入性能,最大可以改为每500毫秒做一次sync 。它的取值范围是1 ~ 500毫秒,默认值是100毫秒,不支持in-memory 存储引擎 。
总结MongoDB 写入策略包括以下几个方面:
- w:指定写入数据后需要在多少个节点上同步写入成功后,才返回确认信息 。
- j:设置 j:true 会将数据写入日志中,可以在节点宕机时恢复数据 。但是 j:true 并不保证数据已经写入磁盘文件中 。
- wtimeout:指定写入超时时间 。当写入操作达到超时时间时,即使最终成功写入也会返回错误信息 。
本文转载自微信公众号「云数据库技术」
推荐阅读
- 西部数据硬盘恢复密钥 西部数据硬盘恢复
- 临沂气象雷达图 费县天气预报
- 硬盘坏了数据恢复不了怎么办 硬盘坏了数据恢复
- 苹果充电线是什么接口 苹果手机数据线怎么连接电脑
- 笔记本硬盘数据恢复价格 笔记本硬盘数据恢复
- 数据可视化图形中的什么是文本数据的视觉表示_数据可视化有哪些图表类型?
- 阿里如何导出产品数据包 阿里天池数据集
- 服装配色表图片。这种颜色的配色数据?
- 我们一起聊聊DBA的自我修养
- 疫情最新数据消息(关于UIQ系