1

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

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

提前致谢。干杯

4

1 回答 1

3

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

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

  • “safemode = off”:你真的不在乎你的插入或更新是否有效
  • “safemode = on”:MongoDB 承认您的插入/更新已进入其内存
  • “安全模式 = 开启”+“日志 = 开启”
  • "fsync = on" :真的很慢,但它确保在驱动程序返回之前将数据提交到磁盘
  • "w= 2" :如果您使用的是副本集,那么这可以与其他选项结合使用,以保证插入/更新已针对您的集合中的“至少 2”台机器运行。

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

于 2012-05-14T13:07:59.433 回答