26

我使用 MySQL 的次数超过了 MongoDB,但是从我从 MongoDB 中学到的东西,这正是我所需要的,但它也有 MySQL 可以做的限制(例如自动增量)

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

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

4

3 回答 3

24

在一个项目中使用两种数据库技术听起来非常合理。只要确保您使用正确的工具来完成这项工作。

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

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

于 2012-05-20T19:18:51.093 回答
8

在 MongoDB 主站点上有一个很好的关于 MongoDB 用例的讨论。一般而言,如果您的业务案例包括对事务和繁重的 T-SQL 功能的需求,那么使用诸如 MySQL 之类的 RDBMS 会更好。

MongoDB 的良好用例如下:

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

这是一个参加过 mongoDb 课程的人对 mongodb 使用的详细讨论

选择或不选择 MongoDB 的注意事项

博主主要说 mongodb 与其他数据库系统一起使用非常好,但是在系统范围内使用它可能是最具挑战性的,在某些特定场景下几乎是不可能的。

这里有一些字幕:

选择蒙哥的理由

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

不选择 Mongo 的理由

  • 没有 SQL = 没有连接
  • 没有 ACID 事务
  • 您的索引不适合内存
于 2014-01-03T23:48:29.943 回答