安装部署 MongoDB数据库安装环境准备及使用讲解

分类:文章教程 日期: 点击:0

一、MongoDB 简介

MongoDB 是由 C++ 语言编写的,是一个基于分布式文件存储的非关系型开源数据库系统。其优势在于可以存放海量数据,具备强大的查询功能,是一个独立的面向集合文档形式的。

应用平台:MongoDB 支持 Unix Linux Windows 等系统平台。

MySQL 与 MongoDB 区别:

MySQL 数据库 数据表 数据
MongDB 数据库 集合 文档

1.MongoDB 特点

存储性:

面向集合:数据被分组存储在数据集中,被称为一个集合。

面向文档:存储在集合中的文档,被存储为键值对的形式。

高效二进制数据存储:使用二进制格式存储,可以保存任何类型的数据对象。

操作性:

完全索引:可以在任意属性上建立索引,包含内部对象。以提高查询的速度。

强大的聚合工具:MongoDB 除了提供丰富的查询功能外,还提供了强大的聚合工具,如 count group 等。

支持 Perl PHP Java C# JavaScript Ruby Python CC++ 语言的驱动程序。

可用性:

支持复制和数据恢复:MongoDB 支持主从复制机制,可以实现数据的备份、故障恢复、读扩展等功能。而基于副本集的复制机制提供了自动故障恢复的功能,确保了集群数据不会丢失。

自动处理分片:MongoDB 支持集群自动切分数据,对数据进行切分可以使用集群存储更多的数据,实现更大的负载,也能保证存储的负载均衡。

2.MongoDB 适用场景

网站实时数据处理:它非常适合实时的插入、更新与查询,并具备网站实时数据存储所需的复制及高伸缩性。

缓存:它适合作为信息基础设施的缓存层。在系统重启之后,由它搭建的持久化缓存层可以避免下层的数据源过载。

高伸缩性的场景:非常适合由数十台或数百台服务器组成的数据库。

不适用于的场景如下:

要求高度事务性的系统(例如:银行和会计系统)传统的商业只能应用。复杂的跨文档(表)级联查询。

3.MongoDB 存储结构

逻辑结构:

文档 document:存放的数据。

集合 collection:由多个文档组成,相当于表,但不同的是集合是无固定架构。

数据库 database:多个集合组成的数据库。

物理结构:

.wt 文件:每个表或索引对应一个命名空间,数据量增加,文件数量增多,存储了分配和正在使用的磁盘空间。

数据文件:存放数据的实体,并且使用预分配空间机制。

日志文件:系统日志文件、journal 日志文件(用于 MongoDB 崩溃恢复的保障)、oplog 复制操作日志文件(相当于 MySQL 的 BinLog 文件)、慢查询日志(查询操作超出指定时间的语句)

物理结构就是真正存放数据的位置。

4.MongoDB 数据类型

安装部署 MongoDB数据库安装环境准备及使用讲解

二、部署 MongoDB 数据库应用

主机名 操作系统 IP 地址 版本
MongoDB CentOS 7.4 192.168.1.1 mongodb-linux-x86_64-rhel70-4.4.5.tgz

1.准备系统环境

[root@MongoDB ~]# ulimit -n 25000 # 同一时间最多开启的文件数
[root@MongoDB ~]# ulimit -u 25000 # 用户最多开启的程序数目
[root@MongoDB ~]# echo 0 > /proc/sys/vm/zone_reclaim_mode # 设置内核参数. 当某个节点内存不足时可以借用其它节点的内存
[root@MongoDB ~]# sysctl -w vm.zone_reclaim_mode=0
vm.zone_reclaim_mode = 0
[root@MongoDB ~]# echo never > /sys/kernel/mm/transparent_hugepage/enabled
[root@MongoDB ~]# echo never > /sys/kernel/mm/transparent_hugepage/defrag
标签:

网站声明

1、本站所有软件和资料来源互联网,仅供个人学习和研究使用,不得用于任何商业用途。
2、如有侵犯您商标权、著作权或其他合法权利的,请联系我们,本站将在第一时间对此进行核实并处理。
3、本站所有可下载资源,都是按照“原样”提供,本站并未对其做过任何改动。本站不保证本站提供的下载资源的准确性、安全性和完整性。同时,本站也不承担用户因使用这些下载资源对自己和他人造成任何形式的损失或伤害。
4、继续浏览本站,即代表您遵守此声明。