初识 MongoDB

81 阅读1分钟

文档型数据库

指:json document,即以 json 格式存储文档的数据库。 MongoDB 存储时,则是以 BSON 结构存储(即 json 的二进制)

相比于传统 OLTP 优点是什么

从开发角度

  1. 动态的 schemal,修改 schemal 非常简单
  2. 数据存储结构,更贴合开发人员

从性能角度

  1. 嵌套文档,减少表的 Join,减少 I/O
  2. 支持嵌套文档 key 查询
  3. 自带集群分片,轻松支持上亿数据存储

从高可用角度

  1. 支持横向扩展
  2. 支持自动恢复
  3. 支持多副本
  4. MySQL 主从架构,主挂掉,有可能会丢失数据. MongoDB 不会丢失数据

从功能角度

  1. 支持功能更强大的聚合运算,MySQL 聚合运算功能相对比较弱。
  2. 支持完整的地理位置查询。
  3. 支持对 json 字段部分更新, MySQL 要 8.0 才支持该功能。

相比于传统 OLTP 缺点是什么

  1. 需要更高的成本。生产环境的 MongoDB 至少需要 3 个节点,即主从架构。

架构设计

MongoDB 支持单节点、主从、集群。节点有多种属性,比如隐藏节点、不可选举节点、延迟节点。相比于 MySQL 来说能够支持更多的业务场景。

应用场景

能用 MySQL 的场景,都能用 MongoDB。应用场景比 MySQL 还要更加丰富。能够处理大规模的数据和高度可扩展性。

需要注意的是,MongoDB 虽然支持事务,但是事务密集型的业务场景,MySQL 会更加合适。