MongoDB 优势

任何关系数据库都具有典型的架构设计,该设计显示表的数量以及这些表之间的关系。在MongoDB中,没有关系的概念。

MongoDB与RDBMS相比的优势

  • 模式少 − MongoDB是一个文档数据库,其中一个集合包含不同的文档。一个文档之间的字段数,内容和文档大小可能会有所不同。

  • 单个对象的结构清晰。

  • 没有复杂的联接。

  • 深入的查询能力。MongoDB支持使用与SQL几乎一样强大的基于文档的查询语言对文档进行动态查询。

  • 性能诊断、调优。

  • 易于扩展− MongoDB易于扩展。

  • 不需要将应用程序对象转换/映射到数据库对象。

  • 使用内部存储器存储(窗口式)工作集,从而可以更快地访问数据。

为什么要使用MongoDB?

  • 面向文档的存储 −类JSON文档作为存储,不固定表模式(schema-free);

  • 全文索引支持

  • 多副本与高可用性

  • 自动分片

  • 支持多种类型的查询

  • 快速原地更新

  • map/reduce支持

  • gridfs:各种size大小的集群文件支持

在哪里使用MongoDB?

  • 大数据

  • 内容管理和交付

  • 移动和社交基础设施

  • 用户数据管理

  • 数据中心

MongoDB和RDBMS的性能分析

在关系数据库(RDBMS)中,表被用作存储元素,而在MongoDB中,表被用作集合。

在RDBMS中,我们有多个模式,在每个模式中,我们创建表来存储数据,而MongoDB是一个面向文档的数据库,其中的数据以BSON格式(类似于JSON格式)写入。

MongoDB几乎比传统数据库系统快100倍。

一些与mysql的相似点与不同

(1)一个服务可以支持多个数据库;

(2)一个数据库可以支持多个表,在mongodb中,以集合(collection)代替了表(table)的概念;

(3)mysql是关系型的数据库,即RDBMS,而mongodb是schema-free的,它更像一个键值存储系统(kv),但与kv不同的是,它又能像mysql的模式一样,能修改文档内的数据,并对内部数据进行索引; mongodb文档以BSON格式存储,即Binary JSON,BSON是一种二进制交换格式,类似Google Protocol Buffer.