一、什么是MongoDB ?
MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。在高负载的情况下,添加更多的节点,可以保证服务器性能。MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档(BSON)类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。
二、主要特点
1.MongoDB的提供了一个面向文档存储,操作起来比较简单和容易。
2.你可以在MongoDB记录中设置任何属性的索引来实现更快的排序。
3.你可以通过本地或者网络创建数据镜像,这使得MongoDB有更强的扩展性。
4.如果负载的增加(需要更多的存储空间和更强的处理能力),它可以分布在计算机网络中的其他节点上这就是所谓的分片。
5.Mongo支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组。
6. MongoDB允许在服务端执行脚本,可以用Javascript编写某个函数,直接在服务端执行,也可以把函数的定义存储在服务端,下次直接调用即可。
7.MongoDB支持各种编程语言:RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。
8.MongoDB安装简单。
三、MongoDB 下载
MongoDB官网下载地址为: http://www.mongodb.org/downloads
MongoDB支持以下平台:OSX、Linux、Windows、Solaris
四、MongoDB 工具 – 监控
MongoDB提供了网络和系统监控工具Munin,它作为一个插件应用于MongoDB中。
Gangila是MongoDB高性能的系统监视的工具,它作为一个插件应用于MongoDB中。
基于图形界面的开源工具 Cacti, 用于查看CPU负载, 网络带宽利用率,它也提供了一个应用于监控 MongoDB 的插件。
五、MongoDB 工具 – GUI
Fang of Mongo – 网页式,由Django和jQuery所构成。
Futon4Mongo – 一个CouchDB Futon web的mongodb山寨版。
Mongo3 – Ruby写成。
MongoHub – 适用于OSX的应用程序。
Opricot – 一个基于浏览器的MongoDB控制台, 由PHP撰写而成。
Database Master – Windows的mongodb管理工具。
RockMongo – 最好的PHP语言的MongoDB管理工具,轻量级, 支持多国语言。
Robomongo – 一个基于 Shell 的跨平台开源 MongoDB 管理工具。(推荐使用)
六、MongoDB部署(Windows)
6.1安装步骤:
1.下载、安装合适的Windows版本的MongoDB,这里使用2.6.12版本。
2.准备数据库目录及配置文件。
3.安装MongoDB服务。
4.安装Robomongo。
5.设置用户。
6.2配置文件(mongod.cfg)
dbpath=C:\MongoDB\data
logpath=C:\MongoDB\log\mongo.log
logappend=true
directoryperdb=true
auth=true
配置文件参数说明:
七、安装/卸载MongoDB服务
安装(cmd)
sc create MongoDB binPath= “C:\Program Files\MongoDB 2.6 Standard Legacy\bin\mongod.exe –config=C:\MongoDB\mongod.cfg –service”
卸载(cmd)
定位到MongoDB安装程序的bin目录下,执行:
C:\Program Files\MongoDB 2.6 Standard Legacy\bin mongod.exe –remove –serviceName “MongoDB”
八、安装Robomongo
下载,安装Robomongo。
下载地址https://www.robomongo.org/download
九、设置用户
当数据库里没有用户,则不需要验证也可以操作。直到创建了第一个用户,之后操作都需要验证
执行
use admin
db.addUser(“mxt”, “mxt”);
来设置第一个用户。
十、MongoDB集群
10.1、Master – Slave(主从)
早期的时候,MongoDB是采用主从模式了,后来这个模式已经被Replica sets(复制集)所替代。因此,别再用主从模式了。
10.2、Replica sets(复制集)
程序与数据库基本交互
主集与副集(Primary & Secondary)
主集宕机,会投票选择新的主集
仲裁(Arbiter),只投票,不能成为主集
主集宕机,会投票选择新的主集,但仲裁集不能成为主集
当集群节点数据为偶数时,添加一个仲裁保证投票结果不会打平(Tied)
隐藏集(冷备份),程序无法访问,无法成为主集,但可以投票
延迟集,单位为秒,有什么作用?
十一、参考资料
1. MongoDB简介
http://www.runoob.com/mongodb/mongodb-intro.html
2. MongoDB官网
https://www.mongodb.org/
3. MongoDB下载
http://www.mongodb.org/downloads
4. MongoDB文档
https://docs.mongodb.org/manual/
5. MongoDB主从
https://docs.mongodb.org/manual/core/master-slave/
6. MongoDB复制集
https://docs.mongodb.org/manual/core/replication-introduction/
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/5441.html