tle 状态 负载 tutorial dir 基于 管理 集合
- 说明: MongoDB由databases组成,database由collections组成,collection由documents组成,document由fileds组成。MongoDB是异步写数据。
- 官方网址:http://www.mongodb.org/
- MongoDB是一个基于分布式文件存储的数据库开源项目。由C++语言编写,旨在为web应用提供可护展的高性能数据存储解决方案。
- 它的特点是可扩展,高性能,易使用,模式自由,存储数据非常方便等,主要功能特性有:
- 面向文档存储:(类JSON数据模式简单而强大)。
优缺点:
mongodb 作为一个很热门的 nosql 数据库有着比较多的优点,大概归纳为以下五点。
(1)、无模式
mongodb 是一个文档型存储的数据库,每一行数据都是一个文档,每一个文档中的字段可以不一致,个数也可以不相同,而且是一个以 bson 方式存储的文档。bson: short for Bin-ary JSON
(2)、高性能
mongodb 的高性能是怎么实现的呢?
这个主要依靠 2 点来解决(当然还有很多其它的)。第一点是 mongodb 的存储空间是预先分配的。以 64 位机器为例,首先分配 64m,以 0 填充,然后每次文件空间大小翻倍,直到 2G,然后每次分配 2G。预先分配的好处是不需要每次存储的时候都分配空间,加快了存储的效率。第二点是 mongodb 的内存映射机制。mongodb 首先将数据写到内存,然后异步写道硬盘上(如果是非安全模式的话)。mongodb 是不管理内存的,它将这份工作交给了操作系统。
(3)、易扩展
mongodb 集群是很容易扩展的 (添加删除节点简单),而且可以支持数据的分片。(后面的章节会详细的介绍怎么分片以及怎么扩展)
(4)、易管理
mongodb 的管理几乎都是自动的。自动故障转移:当一个分片中的 primary 机器 down 后,其它机器会自动选举,选出一台机器当 primary。自动负载均衡:当两个分片的数据相差很大时,集群会自动将一部分数据转移到数据少的分片上。
(5)、多功能
mongodb 的功能很多,例如:索引,聚合,分布式的文件存储,js 存储过程,GridFS 文件存储,定容集合等。
优点说到这,mongodb 同样也有着它的限制或缺点,主要是下面两点。
(1)、mongodb 占用存储空间大。
这主要是由三个因素决定的。第一,mongodb 的空间预分配方式,这样会让 mongodb 最多浪费不超过 2G+2G 文件大小的空间。第二,mongodb 的字段名占用,即使是相同的字段,mongodb 也会在每一个文档中都存储,这里会浪费极大的空间。第三,mongodb 删除数据并不会释放空间,而只是将空间记录为删除状态以便重用。
(2)、mongodb 没有事务模式,所以事务要求严格的系统慎用。
http://www.mongodb.org/downloads,选择相应的版本下载
注意:一定要以管理员的身份打开 cmd。具体请参考官网说明 http://docs.mongodb.org/manual/tutorial/install-mongodb-on-windows/
使用命令【mongod --install --serviceName MongoDB --serviceDisplayName MongoDB --logpath E:\mongodb\data\log\mongodb.log --dbpath E:\MongoDB --directoryperdb】注册 window 服务。
使用命令【net stop mongodb】关闭 mongodb 服务。使用命令【net start mongodb】启动 mongodb 服务。
mongoDB 学习笔记(一)
来源: http://www.bubuko.com/infodetail-2137264.html