大家谈谈Mongodb的适用场景

最近想开发一个网站,想使用mysql但是好像mongodb近几年非常火,而且mongodb的不适合做事务操作,适合做博客和评论这样的场景,而mysql适合做事务和权限这样的场景,所以想问问大家你们公司用过mongodb么?适用场景是怎样的?可以完全替换mysql不?

阅读 5.3k
3 个回答

mongo 主要就是非范式化以及简单的集群化能力. 所以不要用传统的mysql思想去设计数据库

  1. 统一的数据尽量不要拆分为多个表
  2. 如果需要引用尽量通过冗余数据解决,而不是联表查询
  3. 其类似于json存储的方式比较方便
  4. 现在支持事务了,但是复杂的事务还是别考虑了,再说一般一个产品也不会只使用一种类型数据库: 事务用mysql, 一般数据用mongo, 复杂数据搜索es, 缓存或者其他用redis

各自有各自的优势,MongoDB适用于海量数据查询,对于复杂的join关系与需要使用的事务的数据系统并不适用,一般来说一个庞大的系统并不会只依赖一种数据存储方式的

mongodb非常适合富含带子文档结构的数据,比如你的接口返回结果经常带子文档,这时候这个东西可以直接存到mongodb里,而不必分拆成多个表,但mondogb的缺点也很明显,他对事务不友好,高度依赖子文档,对于联表查询不友好,而且太过标新立异,显得和传统数据库的语法格格不入,因而大部分ORM都不考虑兼容mongodb。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题