一起使用MySQL和Mongodb

时间:2012-05-20 19:15:03

标签: mysql mongodb unison

我使用的MySQL比MongoDB更多,但是我从MongoDB学到的东西正是我所需要的,但它也有MySQL可以做的限制(例如自动增量)

将MongoDB用于所有事情是否明智,并且仅将MySQL用于某些事情?

例如,使用MongoDB存储用户和其他所有内容,但使用MySQL来制作票证系统。

3 个答案:

答案 0 :(得分:17)

在一个项目中使用两种数据库技术听起来是完全合理的。只需确保使用正确的工具即可完成工作。

通常将MySQL用作主存储,将MongoDB用作缓存/中间存储以提高速度。

例如,您可以在MongoDB中拥有读密集型数据。用于生成报告的数据非常适合像MySQL这样的关系系统。

答案 1 :(得分:5)

在主要的MongoDB site上对MongoDB的用例进行了很好的讨论。通常,如果您的业务案例包含对事务的需求和繁重的T-SQL功能,那么使用MySQL等RDBMS可以更好地为您提供服务。

MongoDB的好用例如下: 1)您的数据采用文档格式,即单个文档中的不规则结构(即数据不需要连接) 2)您正在考虑使用平面文件系统(同样由于您的数据结构),但您希望在索引/查询数据的能力方面“更多”。 3)您的项目处于一种状态,您真正不知道数据的架构或结构最终会是什么。 4)您有专门的数据类型,例如地理空间数据,并且您希望能够对其进行查询。 5)您可能需要快速,低成本地扩展数据存储位置。

答案 2 :(得分:4)

这是一个关于mongodb使用的良好类型的讨论,由参加mongoDb课程的人

Considerations for choosing or not choosing MongoDB

该博主主要表示将mongodb与其他数据库系统结合使用是完全没问题,但在系统范围内使用它可能是最具挑战性的,在某些情况下几乎是不可能的。

以下是一些字幕:

  

选择Mongo的原因

  • 面向文档和无模式
  • 水平可扩展性和高可用性
  • 快速写入“即发即弃”模式
  • 综合查询和汇总框架
  • 比较直观的架构
  

不选择Mongo的原因

  • 没有SQL =没有加入
  • 没有ACID交易
  • 您的索引不适合内存