How to avoid data loss on server failure with MongoDB on a single machine?

Deadly 提交于 2019-12-21 13:09:30

问题


I have read that mongoDB don't write data to disk right away, it does this periodically.

Any thoughts on how to deal with this?


回答1:


You can enable journaling with --journal.

Check out http://www.adathedev.co.uk/2011/03/mongodb-journaling-performance-single.html and http://www.mongodb.org/display/DOCS/Durability+and+Repair




回答2:


Besides --journal that is enabled by default since MongoDB 2.0 (only on 64 bit machines), there is a flag that you can set when persisting data:

  • safe => false: do not wait for a db response
  • safe => true: wait for a db response
  • safe => num: wait for that many servers to have the write before returning
  • fsync => true: fsync the write to disk before returning. fsync => true implies safe=>true, but not visa versa.

If fsync=>false and safe=>true and the write could be in successfully applied to a mmapped file but not yet written to disk



来源:https://stackoverflow.com/questions/7550583/how-to-avoid-data-loss-on-server-failure-with-mongodb-on-a-single-machine

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!