一、MongoDB简介及安装

一、简介及安装

1、MongoDB 相关概念

1.1 应用场景及特点

  • 数据量大
  • 写入操作频繁(读写都很频繁)
  • 价值较低的数据,对事物要求不高

对这样的数据,我们更适合使用 MongoDB 来实现数据的存储

1.2 简介

  MongoDB 是一个开源、高性能、无模式的文档型数据库,当初的设计就是用于简化开发和方便扩展,是 NoSql 数据库中的一种。是最像关系型数据库(MySQL)的非关系型数据库。

  它支持的数据结构很松散,是一种类似于 JSON 的格式叫 BSON(二进制的 json),所以它既可以存储比较复杂的数据类型,又相当灵活。

  MongoDB 的每条记录都是一个文档,它是由一个字段和值对(field:value)组成的数据结构。MongoDB 文档类似于 JSON 对象,即一个文档认为就是一个对象。字段的数据类型是字符型,它的值除了使用基本类型之外,还可以包括其他文档、普通数组和文档数组。

1.3 体系结构

MySQL 和 MongoDB 的类比

1.4 数据模型

BSON 数据类型参考列表

1.5 主要特点

(1) 高性能:

MongoDB 提供高性能的数据持久性。

特别是,对嵌入式数据模型的支持减少了数据库系统上的 I/O 活动。

索引支持更快的查询,并且可以包含来自嵌入式文档和数组的键。(文本索引解决搜索的需求、TTL 索引解决历史
数据自动过期的需求、地理位置索引可用于构建各种 O2O 应用)

mmapv1、wiredtiger、mongorocks(rocksdb)、in-memory 等多引擎支持满足各种场景需求。

Gridfs 解决文件存储的需求。

(2) 高可用性:

MongoDB 的复制工具称为副本集(replica set), 它可提供自动故障转移和数据沉余。

(3) 高扩展性:

MongoDB 提供了水平可扩展性作为其核心功能的一部分。

分片将数据分布在一组集群的机器上。(海量数据存储,服务能力水平扩展)

从 3.4 开始,MongoDB 支持基于片键创建数据区域。在一个平衡的集群中,MongoDB 将一个区域所覆盖的读写只
定向到该区域内的那些片。

(4) 丰富的查询支持:

MongoDB 支持丰富的查询语言,支持读和写操作(CRUD), 比如数据聚合、文本搜索和地理空间查询等。

(5) 其他特点:

如无模式(动态模式)、灵活的文档模型等

2.Windows 环境下安装部署

MongoDB 提供了可用于 32 位和 64 位系统的预编译二进制包,可以从 MongoDB 官网下载安装,MongoDB 预编译二进制包下载地址:http://www.mongodb.org/downloads

根据上图所示下载 zip 包;注意:MSI 需要安装的,ZIP 是绿色版本解压就可以运行。

提示:版本的选择:
MongoDB 的版本命名规范如:x.y.z;
y 为奇数时表示当前版本为开发版,如:1.5.2、4.1.13;
y 为偶数时表示当前版本为稳定版,如:1.6.3、4.0.10;
Z 是修正版本号,数字越大,修复的 BUG 越多,越推荐使用。

2.1 先创建数据库文件存储位置

解压 MongoDB 后,在 MongoDB 下创建 data,在 data 下再创建 db:D:\java\MongoDB\mongodb-win32-x86_64-2012plus-4.2.3\data\db

因为启动服务之前必须要先创建数据库文件的存放文件夹,否则命令不会自动创建,无法启动成功。

2.2 启动服务

  • 方式 1:命令行参数方式启动服务

在 bin 目录下打开命令行提示符,输入如下命令:

在启动信息中可以看到,mongodb 默认端口是27017,如果更改默认启动端口,可通过 --port 来指定端口。

为了方便每次启动,可以将安装目录的 bin 目录添加到环境变量的 path 中。

  • 方式 2. 配置文件方式启动服务

在 mongdb 目录下新建配置文件 mongod.cfg,内如如下:

#数据库路径
dbpath=D:\java\MongoDB\mongodb-win32-x86_64-2012plus-4.2.3\data\db

#日志输出文件路径
logpath=D:\java\MongoDB\mongodb-win32-x86_64-2012plus-4.2.3\data\log\mongo.log

#错误日志采用追加模式
logappend=true

#启用日志文件,默认启用
journal=true

#这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为 false
quiet=true

#端口号 默认为 27017
port=27017

启动方式:进入 bin 目录打开命令窗口

执行mongod -f ../mongod.cfgmongod --config ../mongod.cfg

日志被记录到指定文件夹

  • 方式 3:加入到服务列表

管理员运行 cmd (必须是管理员启动 cmd.exe,否则服务安装失败)

mongod --config "D:\java\MongoDB\mongodb-win32-x86_64-2012plus-4.2.3\mongod.cfg" --install --serviceName "MongoDB"

安装成功后启动运行。

我们可以在浏览器输入 http://localhost:27017 来看是否启动成功

2.3 客户端连接

2.3.1 shell 终端连接 MongoDB 服务(mongo 命令)

# 进入 mongdb 的 bin 目录,打开 cmd 命令窗口,连接 MongoDB 服务
mongo
mongo --host=127.0.0.1 --port=27017

# 查看已有数据库:
show databases

# 退出
exit

2.3.2 compass 图形化界面

下载地址:https://www.mongodb.com/download-center/compass

还是选择绿色解压版,解压后双击MongoDBCompassCommunity.exe启动

连接成功后可以看到三个库,好处就是可以很轻松的通过可视化的方式去操作