【问题标题】:Suggestion when/how to save data to database, when inserting to MongoDB插入 MongoDB 时建议何时/如何将数据保存到数据库
【发布时间】:2012-05-14 12:56:04
【问题描述】:

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

我需要一些建议,我应该在什么级别/层将数据保存到数据库?它应该在一个线程中吗?还是我低估了 MongoDB?是否具有很强的故障保护功能!

提前致谢。 干杯

【问题讨论】:

    标签: mongodb database


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 谢谢 Derick,帮了我很多,如果其他人也提供一些建议,我会再等一天
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-22
    • 1970-01-01
    • 1970-01-01
    • 2017-12-20
    • 2015-06-11
    • 2021-05-30
    • 2020-02-03
    相关资源
    最近更新 更多