2012-05-14 61 views
1

我正在开发一个应用程序体系结构,允许用户添加一些数据,如某些产品的评论以及注册/登录功能。 为了快速插入并获得我正在考虑使用MongoDB和持久性存储(如果mongodb损坏或失败)我想将其保存到数据库(postgre/msql)。 也为注册/登录我会做同样的。建议何时/如何将数据保存到数据库,插入到MongoDB时

我需要一些建议,在什么水平/层我应该将数据保存到数据库?它应该在一个线程?或者我低估了MongoDB?它强大的失败保险!

在此先感谢。 干杯

回答

3

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

MongoDB中保留这些给用户来决定你的数据是多么重要,而有各种不同的层次:

  • “安全模式=关”:你真的不在乎你插入或更新是否有工作
  • “安全模式= ON”:MongoDB的承认,你的插入/更新已使它成为它的内存
  • “安全模式=的” + “杂志=的”
  • “FSYNC = ON”:真的很慢,但它确保在驱动程序返回
  • 0之前将数据提交到磁盘
  • “w = 2”:如果您使用复制数据库,那么可以将其与其他选项结合使用,以确保插入/更新已针对集合中的“至少2台”机器运行。

对于一些更多的背景信息,看看http://mongly.com/Demystifying-Write-Durability/

+0

感谢德里克,帮了我很多,我会等待一天以上,如果别人也提供一些建议 –

相关问题