任何关系数据库都具有典型的架构设计,该设计显示表的数量以及这些表之间的关系。在MongoDB中,没有关系的概念。
模式少 − MongoDB是一个文档数据库,其中一个集合包含不同的文档。一个文档之间的字段数,内容和文档大小可能会有所不同。
单个对象的结构清晰。
没有复杂的联接。
深入的查询能力。MongoDB支持使用与SQL几乎一样强大的基于文档的查询语言对文档进行动态查询。
性能诊断、调优。
易于扩展− MongoDB易于扩展。
不需要将应用程序对象转换/映射到数据库对象。
使用内部存储器存储(窗口式)工作集,从而可以更快地访问数据。
面向文档的存储 −类JSON文档作为存储,不固定表模式(schema-free);
全文索引支持
多副本与高可用性
自动分片
支持多种类型的查询
快速原地更新
map/reduce支持
gridfs:各种size大小的集群文件支持
大数据
内容管理和交付
移动和社交基础设施
用户数据管理
数据中心
在关系数据库(RDBMS)中,表被用作存储元素,而在MongoDB中,表被用作集合。
在RDBMS中,我们有多个模式,在每个模式中,我们创建表来存储数据,而MongoDB是一个面向文档的数据库,其中的数据以BSON格式(类似于JSON格式)写入。
MongoDB几乎比传统数据库系统快100倍。
(1)一个服务可以支持多个数据库;
(2)一个数据库可以支持多个表,在mongodb中,以集合(collection)代替了表(table)的概念;
(3)mysql是关系型的数据库,即RDBMS,而mongodb是schema-free的,它更像一个键值存储系统(kv),但与kv不同的是,它又能像mysql的模式一样,能修改文档内的数据,并对内部数据进行索引; mongodb文档以BSON格式存储,即Binary JSON,BSON是一种二进制交换格式,类似Google Protocol Buffer.