MongoDB学习笔记02-MongoDB简介及安装
本文源自本人原博MongoDB简介及安装 - CSDN博客
概述
MongoDB
是一个基于分布式文件存储的数据库开源项目。由C++
语言编写。旨在为WEB应用提供可护展的高性能数据存储解决方案。MongoDB
是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。- 他支持的数据结构非常松散,是类似
json
的bjson
格式,因此可以存储比较复杂的数据类型。 Mongo
最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。Mongo
主要解决的是海量数据的访问效率问题,根据官方的文档,当数据量达到50GB以上的时候,Mongo
的数据库访问速度是MySQL
的10倍以上。Mongo
的并发读写效率不是特别出色,根据官方提供的性能测试表明,大约每秒可以处理0.5万-1.5次读写请求。
主要特点
- 面向集合存储:意思是数据被分组存储在数据集中, 被称为一个集合
Collenction
。每个集合在数据库中都有一个唯一的标识名,并且可以包含无限数目的文档。集合的概念类似关系型数据库RDBMS
里的表table
,不同的是它不需要定义任何模式schema
。 - 模式自由:意味着对于存储在
MongoDB
数据库中的文件,我们不需要知道它的任何结构定义。提了这么多次"无模式"或"模式自由",它到是个什么概念呢?例如,下面两个记录可以存在于同一个集合里面:{"welcome" : "Beijing"} {"age" : 25}
- 文档型:存储在集合中的文档,被存储为键-值对的形式。键用于唯一标识一个文档,为字符串类型,而值则可以是各种复杂的文件类型
- 高效的数据存储:支持二进制数据及大型对象
- 支持复制和故障恢复:提供
Master-Master
、Master-Slave
模式的数据复制及服务器之间的数据复制 - 自动分片:以支持云级别的伸缩性,支持水平的数据库集群,可动态添加额外的服务器
适用场合
- 网站数据:
Mongo
非常适合实时的插入,更新与查询,并具备网站实时数据存储所需的复制及高度伸缩性。 - 缓存:由于性能很高,
Mongo
也适合作为信息基础设施的缓存层。在系统重启之后,由Mongo
搭建的持久化缓存层可以避免下层的数据源过载。 - 大尺寸,低价值的数据:使用传统的关系型数据库存储一些数据时可能会比较昂贵,在此之前,很多时候程序员往往会选择传统的文件进行存储。
- 高伸缩性的场景:
Mongo
非常适合由数十或数百台服务器组成的数据库。Mongo
的路线图中已经包含对MapReduce
引擎的内置支持。 - 用于对象及
JSON
数据的存储:Mongo
的BSON
数据格式非常适合文档化格式的存储及查询。
不适用的场合
- 要求高度事务性的系统
- 传统的商业智能应用
- 复杂的跨文档(表)级联查询
MongoDB 工具
有几种可用于MongoDB的管理工具。
监控
MongoDB
提供了网络和系统监控工具Munin
,它作为一个插件应用于MongoDB
中。Gangila
是MongoDB
高性能的系统监视的工具,它作为一个插件应用于MongoDB
中。- 基于图形界面的开源工具
Cacti
, 用于查看CPU负载, 网络带宽利用率,它也提供了一个应用于监控MongoDB
的插件。
在Windows系统下安装MongoDB
运行平台:
从2.2版本开始,MongoDB
不支持Windows XP
。请使用“最近版本的Windows
使用MongoDB
的最近版本。
1. MongoDB的下载
下载最新产品发布版的MongoDB
到官网下载页面http://www.mongodb.org/downloads
2. 安装下载文件
在Windows资源管理器,找到下载MongoDB msi文件,通常“位于默认“下载”文件夹中
3. 手动创建一个MongoDB的Windows服务
- 为数据库创建目录和日志文件:
mkdir c:\data\db mkdir c:\data\log
- 创建配置文件,同时指定 日志文件路径和
DBPATH
在配置文件中的设置:echo logpath=c:\data\log\mongod.log> "C:\Program Files\MongoDB 2.6 Standard\mongod.cfg" echo dbpath=c:\data\db>> "C:\Program Files\MongoDB 2.6 Standard\mongod.cfg"
- 创建
MongoDB
的服务
如果创建成功,会显示以下日志消息:sc.exe create MongoDB binPath= "\"C:\Program Files\MongoDB 2.6 Standard\bin\mongod.exe\" --service --config=\"C:\Program Files\MongoDB 2.6 Standard\mongod.cfg\"" DisplayName= "MongoDB 2.6 Standard" start= "auto"
[SC] CreateService SUCCESS
- 开启
MongoDB
服务net start MongoDB
- 查看是否开启成功
在浏览器里面键入http://localhost:27017/
出现 It looks like you are trying to access MongoDB over HTTP on the native driver port. 说明成功开启 - 停止
MongoDB
的服务net stop MongoDB
- 要删除的
MongoDB
服务,先停止服务,然后运行以下命令:sc.exe delete MongoDB
开启Web管理信息界面
MongoDB
自带一个微型的web
管理信息界面,需要修改/mongod.conf
中的一个配置项:
httpinterface=true
打开浏览器访问http://127.0.0.1:28017
这个页面可以看到
- 当前
Mongodb
的所有连接 - 各个数据库和
Collection
的访问统计,包括:Reads
,Writes
,Queries
,GetMores
,Inserts
,Updates
,Removes
- 写锁的状态
- 以及日志文件的最后几百行
- 所有的
MongoDB
命令
windows 下启动MongoDB的rest接口
启动mongodb
后,在web
端口访问情况下,点击List all commands
会出现如下错误
REST is not enabled. use --rest to turn on.
check that port 28017 is secured for the network too.
需要修改/mongod.conf
中的一个配置项:
rest = true
在RedHat Enterprise下安装MongoDB
详情见官方文档
如果您安装社区版请链接:
/etc/yum.repos.d/mongodb-org-3.4.repo
文件创建:[mongodb-org-3.4] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
之后执行
yum install mongodb-org
如果您安装企业版请链接:
/etc/yum.repos.d/mongodb-enterprise.repo
文件创建:[mongodb-enterprise] name=MongoDB Enterprise Repository baseurl=https://repo.mongodb.com/yum/redhat/$releasever/mongodb-enterprise/3.4/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
之后执行
yum install mongodb-enterprise
使用下列命令启动停止重启
mongod
进程sudo service mongod start sudo service mongod stop sudo service mongod restart
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 bin07280@qq.com
文章标题:MongoDB学习笔记02-MongoDB简介及安装
文章字数:1.7k
本文作者:Bin
发布时间:2017-07-17, 14:31:32
最后更新:2019-08-06, 00:07:35
原始链接:http://coolview.github.io/2017/07/17/MongoDB/MongoDB%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B002-MongoDB%E7%AE%80%E4%BB%8B%E5%8F%8A%E5%AE%89%E8%A3%85/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。