MongoDB入门学习笔记之简介与安装配置

1、MongoDB简介

一、文档数据库

        MongoDB是一款开源的文档型非关系数据库,具备高性能、高可靠性和自动扩展等特色。MongoDB中的每一条记录是一个文档,其数据存储结构为键/值对,相似JSON对象。每一个字段的值能够包含其余文档、数组、文档数组。如:html

使用文档的好处:mysql

  • 在许多编程语言中文档(即对象)对应于本地数据类型
  • 内嵌的文档和数组减小对昂贵连接的须要
  • 动态模式支持多态性

二、特色

高性能算法

提供高性能的数据持久化,尤为:sql

  • 支持内嵌的数据模型减小数据库系统的I/O操做
  • 索引支持更快的查询,包含内嵌对象
  • 使用高效的二进制数据存储,包含大型对象(如视频等)

高可靠性mongodb

副本集是一组MongoDB服务器维护的相同数据集,它经过如下两方面提升可靠性:数据库

  • 故障恢复
  • 数据冗余


自动扩展
MongoDB核心功能之一是提供水平扩展:编程

  • 跨集群自动分区分配数据
  • 副本集能够为低延迟高吞吐量的部署提供最终一致性的读取(并行处理)
  • 自动碎片处理,支持云计算层次的扩展性

三、对比现有技术优点

  • 多种数据类型
  • 存储即缓存
  • 更高的读写并发
  • 内置replication, 故障切换更好
  • 内置sharding, 无限制的水平扩展
  • 可部署在PC服务器上
  • 开放源代码

四、技术实现

  • MongoDB采用多线程机制知足并发要求;
  • MongoDB采用递归锁完成互斥访问;
  • MongoDB采用内存文件映射的存储机制实现高速读并发;
  • MongoDB采用异步写入+定时刷新方式实现高速写并发;
  • MongoDB采用异步写入+定时刷新方式实现重放日志,以保证基本的持久化机制;
  • MongoDB采用异步复制策略实现基本的数据可靠性;
  • MongoDB可对数据库进行分片设置以实现自动化的水平分区

五、应用方案

MongoDB包括一个自动分片的的模块“mongos”,从而能够构建一个大的水平可扩展的数据库集群,能够动态地添加服务器,自动创建一个水平扩展的数据库集群系统,将数据库分表存储在sharding的各个节点上,以下是一个数据库集群的示意图数组

六、应用场景

  • 对并发读写性能要求的系统
  • 须要对数据水平分区的系统
  • 须要海量缓存却苦于容量限制的系统
  • 须要常常变动数据结构的系统

七、影响

 

系统性能影响缓存

在数据存储上,Mongodb 将使得现有现有系统在性能上大幅提高, 系统平均响应时间、单位时间并发量、容量均会有显著提升。

资源影响

因为mongodb采用文件内存映射的方式进行存储访问, 于是对内存和硬盘的消耗至关严重, 尤为是内存再元消耗是传统内存资源使用的10-100倍以上。

应用方式影响

由传统的结构化查询SQL方式, 转变为半结构化的文档方式, 有一个思惟转变的过程和学习曲线。

应用架构影响

应用mongodb, 将会使现有系统架构体系变更较大、。 在在缓存和数据访问策略上, 旧有的方式将会全盘抛弃, 以适应接入mongodb

2、在Windows上安装配置

一、下载

下载地址:https://www.mongodb.org/downloads

根据本身系统下载对应版本,64位版本的MongoDB没法在32位的windows系统下工做,64位win7下载这个:

msi安装程序包含全部的其余依赖软件而且会自动升级老版本的MongoDB

二、安装

双击msi

点击next

点勾,next

点击Custom选择自定义安装

Browse选择安装目录

安装到D:\MongoDB\,OK

Install安装

点击Finish完成,目录结构:

bin目录下可执行文件集:

三、运行MongoDB

MongoDB须要一个数据目录来存储数据,该目录默认为\data\db,改目录须要手动建立(安装目录对应盘符下)。固然也能够本身指定数据目录。先在MongoDB目录下手动建立data目录,而后在cmd命令行下进入bin目录运行:

 

[plain]  view plain  copy
 
  1. mongod.exe --dbpath d:\MongoDB\data  


注意,若是数据目录路径包含空格,应该将整个路径用双引号括起。

 

当看到waiting for connections消息时表示MongoDB启动成功

MongoDB默认使用27017端口,如今打开另外一个cmd窗口链接到MongoDB,一样进入bin目录,运行mongo.exe

服务端命令行窗口监听到链接:

尝试往MongoDB中插入两条数据并删除数据(foo是collection名,若是不存在则建立)

四、配置MongoDB服务

 为方便启动MongoDB,现将其配置成Windows服务

(1)以管理员身份运行cmd

必须以管理员身份才能建立MongoDB服务(建立目录不须要...)

运行—>输入cmd—>Ctrl Shift Enter

或者右键cmd.exe以管理员身份运行

(2)建立数据和日志目录

 

[html]  view plain  copy
 
  1. mkdir d:\MongoDB\data\db  
  2. mkdir d:\MongoDB\data\log  

 

(3)建立配置文件

建立一个数据库配置文件mongod.cfg,将该配置文件放在MongoDB目录下,指定数据库数据和日志存储路径:

(4)安装MongoDB服务

第一种方法:

进入bin目录,运行mongod.exe,指定配置文件路径安装:

 

[plain]  view plain  copy
 
  1. mongod.exe --config D:\MongoDB\mongod.cfg --install  

 

此时已将MongoDB配置成系统服务,能够运行services.msc到系统服务中查看到

第二种方法:

运行如下命令:

 

[plain]  view plain  copy
 
  1. sc.exe create MongoDB binPath= "D:\MongoDB\bin\mongod.exe --service --config=\"D:\MongoDB\mongod.cfg\"" DisplayName= "MongoDB" start= "auto"  

注意,sc.exe命令要求等号与值之间须要一个空格

 

 

(5)开始MongoDB服务

 

[plain]  view plain  copy
 
  1. net start MongoDB  

 

(6)中止MongoDB服务

 

[plain]  view plain  copy
 
  1. net stop MongoDB  

 

(7)移除MongoDB服务

若是须要能够经过如下命令移除MongoDB服务

 

[plain]  view plain  copy
 
  1. mongod.exe --remove  

也能够用如下命令:

 

 

[plain]  view plain  copy
 
  1. sc.exe delete MongoDB  

 

OK!MongoDB安装配置介绍完毕,收工!