mongodb mysql json数据_使用MongoDB与MySQL有很多JSON字段?

这篇博客探讨了在半结构化数据场景下,选择MongoDB而非MySQL的原因。作者指出,MongoDB的无模式特性和丰富的查询能力是其优势,尽管缺少事务支持可能导致复杂性。文章提到了数据安全策略,如使用安全和不安全写入,并分享了监控、备份和恢复MongoDB的经验。尽管面临挑战,但作者认为MongoDB在查询效率、维护和可扩展性方面表现出色,适合大多数非关系型需求。
摘要由CSDN通过智能技术生成

所以,直接回答问题…

Shall we chose mongodb if half of data is schemaless, and is being stored as JSON if using MySQL?

无数存储空间肯定是MongoDB的一个引人注目的理由,但正如您所指出的,将JSON存储在RDBMS中也是相当容易的。 MongoDB背后的强大功能是对无法存储的丰富查询。

如果我可以在更新JSON字段的图示中指出一个小缺陷,那不仅仅是获取当前值,更新文档,然后将其推回到数据库。该进程必须全部包装在事务中。在您开始对数据库进行非规范化之前,事务往往相当简单。然后像录制upvote一样简单的东西可以锁定桌面在你的架构上。

使用MongoDB,没有交易。但操作几乎总是可以以允许进行原子更新的方式进行结构化。这通常涉及SQL范例的一些戏剧性变化,但是在我看来,一旦你停止试图强制将对象强制放入表中,它们就会相当明显。至少,其他许多人遇到了同样的问题,蒙古社区往往对于克服的挑战来说是相当公开和有声的。

Some of the data like main posts is critical , so it will be saved using safe writes , the counters etc will be saved using unsafe writes. Is this policy based on importance of data, and write intensiveness correct?

通过“安全写入”,我认为您的意思是在每次写入后打开自动“getLastError()”的选项。我们在DBCollection上有一个非常薄的包装,允许我们在调用getLastError()时进行细粒度的控制。但是,我们的策略不是基于“重要”数据,而是跟随查询的代码是否期望在以下读取中立即显示任何修改。

一般来说,这仍然是一个糟糕的指标,我们已经转而使用findAndModify()来执行相同的行为。在我们仍然显式调用getLastError()的情况下,当数据库可能拒绝写入时,例如当我们使用可能是重复的_id来插入()时。

How easy is it to monitor,backup and restore Mongodb as compared to mysql? We need to plan periodic backups (say daily), and restore them with ease in case of disaster. What are the best options I have with mongoDb to make it a safe bet for the application?

恐怕我不能说我们的备份/还原策略是否有效,因为我们还没有恢复。我们遵循MongoDB的备份建议; @ mark-hillick做了很好的总结。我们正在使用副本集,我们已经迁移了MongoDB版本以及引入了新的副本成员。到目前为止,我们没有停机,所以我不知道我能说得好。

Stability,backup,snapshots,restoring,wider adoption i.e.database durability are the reasons pointing me to use MySQL as RDBMS+NoSql even though a NoSQL document storage could serve my purpose better.

因此,根据我的经验,MongoDB提供了无量纲数据存储,其中包含一组足够多的查询原语,以便事务经常被原子操作所取代。不了解十年价值的SQL经验是非常困难的,但我遇到的每一个问题已经被社区或10gen直接解决了。我们没有丢失数据或有任何停机时间,我可以记得。

简单来说,MongoDB是在查询,维护,可扩展性和可靠性方面所使用的最佳数据存储生态系统。除非我有一个非常清楚的关系的应用程序,否则我无法善意地使用除SQL之外的任何东西,我将尽一切努力使用MongoDB。

我不为10gen工作,但我非常感谢那些做的人。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值