MongoDB是一款功能强大、灵活且易于扩展、通用型的开源文档数据库。
特点:
* 易于使用
MongoDB是一款文档数据库,而不是关系型数据库,文档数据库不在有"行”的概念,取而代之的是灵活的“文档模型”,MongoDB不在有预定义模式,文档的键和值没有固定的类型和大小,可以根据需要添加或删除字段变得容易咯
* 易于扩展
MongoDB的设计采用横向扩展,面向文档的数据模型使它能够很容易的多台服务器之间进行数据分隔,MongoDB将用户请求路由到正确的服务器上,如果一个集群中需要更大的容量,只需要向集群中添加服务器,mongoDB就会自动将现有数据向新服务器传送
* 丰富的功能
除了支持常用的创建、读取、删除和更新数据之外,还提供如下:
索引、聚合、集合类型、文件存储等
1)NoSQL简介
NoSQL 1988年Carlo Strozzi首次提出,2009年提出NoSQL概念
NoSQL: Not Only SQL
NoSQL优势:
处理海量数据能力
读写高性能
扩展方便
NoSQL数据库常见的分类如下:
* 键值对存储型 Redis
* 列存储型 HBase
* 文档型 MongDB
* 图式数据库 Neo4J
2)MongDB是什么
MongDB是一款面向文档的NoSQL数据库,MongDB关键特性有如下
* 面向文档的存储
* 支持多种索引
* 复制及高可用
* 自动分片
* 丰富的查询的
* Map/Reduce
* GridFS
MongDB有丰富的数据类型,无需事前先定义Schema,比较灵活,支持很多非常丰富的索引类型。MongoDB提供2两种复制模式:主从和副本集,
3)MongoDB系统结构
* 数据逻辑结构
层次关系:
文档(document)、集合(collection)、数据库(database)
![](https://box.kancloud.cn/d94ae13f834f81faaed04c9460f135f7_368x224.png)
文档:相当于数据库的行记录
集合:相当于数据库的表
数据库: 相当于mysql数据库的数据库
![](https://box.kancloud.cn/87f02b128c20f72c0495764e537c0101_531x265.png)
* 数据储存 (以mongodb2.*系列)
默认的存储路径:/data/db