建议在插入MongoDB时何​​时/如何将数据保存到数据库

时间:2012-05-14 12:56:04

标签: mongodb database

我正在开发一种应用程序架构,允许用户添加一些数据,例如某些产品的评论,以及注册/登录功能。 为了快速插入并获得我正在考虑使用MongoDB,以及持久性存储(如果mongodb损坏或失败),我想将其保存到数据库(postgre / msql)。 另外,对于注册/签名,我也会这样做。

我需要一些建议,在什么级别/层我应该将数据保存到数据库?它应该在一个线程中吗?还是我低估了MongoDB?是强烈的失败安全!

提前致谢。 干杯

1 个答案:

答案 0 :(得分:3)

MongoDB与MySQL一样(至少和)强烈故障安全,只要你使用日志并使用你的驱动程序的功能来确保你的插入和更新在返回之前提交给日志。

MongoDB让用户决定您的数据有多重要,并且有各种不同的级别:

  • “safemode = off”:您真的不关心插入或更新是否有效
  • “safemode = on”:MongoDB确认您的插入/更新已将其置于其内存中
  • “safemode = on”+“journal = on”
  • “fsync = on”:非常慢,但它确保在驱动程序返回之前将数据提交到磁盘
  • “w = 2”:如果您正在使用replicasets,那么这可以与其他选项结合使用,以保证对您设置中的“至少2台”计算机运行插入/更新。

有关更多背景信息,请查看http://mongly.com/Demystifying-Write-Durability/