一、MongoDB简介
MongoDB是NoSQL数据库类型的一种,由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案;MongoDB数据库是一个介于关系数据库和非关系数据库之间的一个产品,是非关系数据库中功能最为丰富的、最像关系数据库的文档数据库,它支持的数据结构类型非常松散,是类似于json的bson格式,因此可以存储比较复杂的数据类型。MongoDB最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引与数据库复制功能。
常用的NoSQL数据存储类型有:
数据类型 | 代表产品 |
---|---|
列式存储 | hbase |
键值存储 | redis |
文档存储 | mongodb |
图式存储 | neo4j |
MongoDB的特点有:
1)高性能、易部署、存储方便
2)面向集合存储,易存储对象类型的数据
3)模式自由
4)支持动态查询
5)支持完全索引,包含内部对象
6)支持复制和故障恢复
7)使用高效的二进制数据存储,包括大型对象(如视频等)
8)自动处理碎片,以支持云计算层次的扩展性
9)文件存储格式为BSON(JSON格式的一种扩展)
10)可以通过网络访问
二、安装部署MongoDB
1)配置yum源指向mongodb官网
[root@jyy ~]# cd /etc/yum.repos.d/
[root@jyy yum.repos.d]# cat mongodb.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
[root@jyy yum.repos.d]#
[root@jyy yum.repos.d]# yum repolist all
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
epel/x86_64/metalink | 5.2 kB 00:00:00
* epel: mirror01.idc.hinet.net
base | 3.6 kB 00:00:00
epel | 5.3 kB 00:00:00
file:///mnt/cdrom/repodata/repomd.xml: [Errno 14] curl#37 - "Couldn't open file /mnt/cdrom/repodata/repomd.xml"
Trying other mirror.
mongodb-org-3.4 | 2.5 kB 00:00:00
(1/3): epel/x86_64/updateinfo | 984 kB 00:00:01
(2/3): epel/x86_64/primary_db | 6.7 MB 00:00:01
(3/3): mongodb-org-3.4/7/primary_db | 89 kB 00:00:07
repo id repo name status
base/x86_64 CentOS-7 - Base - mirrors.aliyun.com enabled: 10,019
epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 enabled: 13,283
!jyy jyy enabled: 3,971
mongodb-org-3.4/7 MongoDB Repository enabled: 110
repolist: 27,383
2)安装mongodb数据库并启动服务
[root@jyy yum.repos.d]# yum install mongodb-org
Loaded