一、MongoDB 是什么?
MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。 MongoDB 是一个介于关系型数据库和非关系型数据库之间的产品,是非关系型数据库当中功能最丰富,最像关系型数据库的。 MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。

二、关系型数据库与非关系型数据库
关系型数据库又称:RDBMS 非关系型数据库又称:NoSQL
1. 两者的代表
- 关系型数据库:Oracle、Microsoft SQL Server、MySQL
- 非关系型数据库:Redis、MongodDB、Neo4j、Hbase
2. 两者的区别
RDBMS
- 高度组织化结构化数据(二维表)
- 结构化查询语言(SQL)
- 数据和关系都存储在二维表中
- 数据操纵语言,数据定义语言
- 严格的一致性
- 事务
NoSQL
- 代表着不仅仅是SQL
- 没有声明性查询语言
- 没有预定义的模式
- 键值对存储,列存储,文档存储
- 非结构化数据
- 高性能,高可用性和可伸缩性
三、MongoDB 历史
- 2007年10月,MongoDB由10gen团队所发展。2009年2月首度推出。
- 2012年05月23日,MongoDB2.1 开发分支发布了! 该版本采用全新架构,包含诸多增强。
- 2012年06月06日,MongoDB 2.0.6 发布,分布式文档数据库。
- 2013年04月23日,MongoDB 2.4.3 发布,此版本包括了一些性能优化,功能增强以及bug修复。
- 2013年08月20日,MongoDB 2.4.6 发布。
- 2013年11月01日,MongoDB 2.4.8 发布。
- ……
四、MongoDB 术语/概念
| SQL术语/概念 | MongoDB术语/概念 | 解释/说明 |
|---|---|---|
| database | database | 数据库 |
| table | collection | 数据库表/集合 |
| row | document | 数据记录行/文档 |
| column | field | 数据列/字段 |
| index | index | 索引 |
| table joins | 表连接。 MongoDB不支持 |
|
| primary key | primary key | 主键。 |

