0
点赞
收藏
分享

微信扫一扫

【零基础学数据结构】链表

肉肉七七 04-13 11:30 阅读 1

MongoDB

简介:

MongoDB是一个分布式非关系型数据库管理系统

1、优点和缺点:

优点:
1. 灵活的数据模型:MongoDB是面向文档的数据库,使用JSON格式存储数据,因此可以轻松地存储各种类型的数据,而不需要遵循严格的模式。
2. 可扩展性:MongoDB支持水平扩展,可以通过添加更多的服务器来处理大量的数据和流量,从而实现高可扩展性。
3. 高性能:MongoDB具有快速的读写速度,特别是在大型数据库和高并发访问的情况下。
4. 强大的查询功能:MongoDB支持丰富的查询功能,包括复杂的聚合查询、全文搜索等。
5. 自动故障转移:MongoDB具有自动故障转移功能,可以在主服务器故障时自动切换到备用服务器,提高了系统的可用性。

缺点:
1. 内存消耗较大:MongoDB在处理大规模数据时需要大量的内存来维护索引和缓存,这可能导致服务器成本较高。
2. 数据一致性问题:由于MongoDB的分布式特性,可能会存在数据一致性的问题,特别是在网络分区或节点故障时。
3. 复杂的查询:MongoDB的复杂查询性能可能不如传统的关系型数据库。

2、MongoDB适用的业务场景:

MongoDB适合许多不同类型的业务,特别是那些需要处理灵活数据模型、大规模写入、高性能读取和无需复杂事务支持的应用。

1. 内容管理系统(CMS):CMS通常需要处理多种类型的内容,如文章、图片、视频等,而这些内容的结构可能会经常变化。MongoDB的灵活的文档数据模型使其成为存储和管理此类内容的理想选择。

2. 实时分析和日志处理:MongoDB可以处理大规模的写入操作,因此非常适合存储实时生成的日志数据或其他实时事件数据。它还具有良好的读取性能,可以支持实时分析和查询。

3. 物联网(IoT)应用:物联网应用通常需要处理大量的传感器数据和设备数据,并且这些数据的结构可能是不确定的。MongoDB的灵活性和水平扩展性使其成为存储和处理物联网数据的良好选择。

4. 用户分析和个性化推荐:对于需要存储和分析大量用户数据,并基于这些数据进行个性化推荐或用户行为分析的应用程序,MongoDB是一个强大的工具。它可以轻松存储用户配置文件、行为数据等,并支持复杂的查询和分析。

Centos7 搭建Mongodb 分片集群

一、安装MongoDB社区版4.0

该集群由mongos、配置服务器config和两个三成员shard副本集组成。
在这里插入图片描述

组件分布:

ip 组件
leojiang123 arbiter(shard1)、arbiter(shard2)
leojiang124 mongos、config、shard1(副)
leojiang125 mongos、config、shard2(副)
leojiang126 mongos、config、shard1(主)
leojiang127 mongos、shard2(主)

端口选择:

组件 端口选择
mongos 20000
config 27000
shard 27001
arbiter 27026、27027
1、配置程序包管理系统(yum

创建一个/etc/yum.repos.d/mongodb-org-4.0.repo文件,以便您可以使用yum以下命令直接安装MongoDB

  • 分别在leojiang123~leojiang127服务器上执行
cat > /etc/yum.repos.d/mongodb-org-4.0.repo << EOF
[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
EOF
2、安装对应版本的MongoDB软件包。
  • 分别在leojiang123~leojiang127服务器上执行
sudo yum install -y mongodb-org-4.0.9 mongodb-org-server-4.0.9 mongodb-org-shell-4.0.9 mongodb-org-mongos-4.0.9 mongodb-org-tools-4.0.9

为防止意外升级,请固定包装。

echo 'exclude=mongodb-org,mongodb-org-server,mongodb-org-shell,mongodb-org-mongos,mongodb-org-tools'>>/etc/yum.conf
3、创建运行mongodb的目录并禁用SELinux
  • 根据自身情况分别在leojiang123~leojiang127服务器上执行
mkdir -p /var/opt/mongodb/config
mkdir -p /var/opt/mongodb/mongos
mkdir -p /var/opt/mongodb/shard
mkdir -p /var/opt/mongodb/arbiter
chown -R mongod:mongod /var/opt/mongodb

禁用SELinux

vim /etc/sysconfig/selinux
SELINUX=disabled

setenforce 0
4、修改文件打开数
  • 分别在leojiang123~leojiang127服务器上执行

4.1、修改系统文件打开数

# 直接生效
ulimit -n 1000000

4.2、修改mongo最大文件打开数

cat > /etc/security/limits.d/99-mongodb.conf << LEO
#Default limit for number of user’s processes to prevent
# accidental fork bombs.
# # See rhbz #432903 for reasoning.
# #
# # * soft nproc 4096
# # root soft nproc unlimited
* soft nofile 1000000
* hard nofile 1000000
* soft fsize unlimited
* hard fsize unlimited
* soft cpu unlimited
* hard cpu unlimited
* soft nproc 
举报

相关推荐

0 条评论