博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MongoDB分片
阅读量:6575 次
发布时间:2019-06-24

本文共 1471 字,大约阅读时间需要 4 分钟。

一、什么是分片

高数据量和吞吐量的数据库应用会对单机的性能造成较大的压力,大的查询量会将单机的CPU耗尽,大的数数量对单机的存储眼里较大,最终会耗尽系统的内存二将压力转移到磁盘IO上。
MongoDB分片技术可以满足多个服务器存储数据的方法,一直吃巨大的数据储存和对数据进行操作。分片技术可以满足MongoDB数据量大量增长的需求,当一台MongoDB服务器不足以存储数据或不足以提供可接受的读写吞吐量是,我们就可以通过在多台服务器上分割数据,使得数据库系统能存储和处理更多的数据。
二、MongoDB分片的优势。
分片以应对高吞吐量与大数据提供了方法。
1.使用分片减少了每个分片需要处理的请求数,因此,通过水平扩展,群集可以提高自己的存储容量和吞吐量。比如,当插入一条数据时,应用只需要访问存储这条数据的分片。
2.使用分片极少了每个分片存储的数据。
分片的优势在于提供类似线性增长的架构,提高数据可用性,提高大型数据库查询服务器的性能。当MongoDB单点数据库服务器存储成为瓶颈、单点数据库服务器的性能成为瓶颈或者需要部署大型应用充分利用内存时,可以使用分片技术。
三、MongoDB分片群集的这一次各部分
MongoDB分片群集主要有三分主要组件:
1.Shard:分片服务器,用于存储实际的数据块,实际生产环境中一个shardserver角色可以有几台服务器组成一个Replica Set承担,防止主机单点故障。
2.Config Server:配置服务器,储存了整个分片群集的配置信息,其中包括chunk信息。
3.Routers:前端路由,客户端由此接入,且让整个群集看上去像一个单一数据库,前端应用可以透明使用。
四、部署MongoDB分片群集。
下面介绍在一台物理服务器上部署一个简单结构的MongoDB分片群集。其具体配置如下:
1台路由实例(端口27017)。
1台配置实例(端口37017)。
2台Shard实例(端口47017,47018,47019)。
所使用的MongoDB包链接: 密码: gycd

1.安装MongoDB

MongoDB分片
把解压下来的MongoDB包修改名字并放到/usr/local下
MongoDB分片
给MongoDB的命令建立软链接
MongoDB分片
建立MongoDB日志存位置和数据存放位置。
MongoDB分片
当MongoDB处于频繁访问的状态,如果shell启动进程所占用的资源设置较低,将会产生错误导致无法连接MongoDB实例。需要设置ulimit -n和ulimit -u的值大于20000。
2.部署配置服务器
MongoDB分片
MongoDB分片
当某节点内存不足时,从其他节点分配内存
MongoDB分片
启动配置服务器
3.配置分片服务器
MongoDB分片
MongoDB分片
复制一份分片服务器,并开启2台分片服务器
4.启动路由服务器
MongoDB分片
指定连接入口27017,并指定日志存储位置,并指定给配置服务器37017处理
5.添加分片服务器
MongoDB分片
直接使用mongo进入路由服务器,通过shardAdded命令添加分片服务器。
MongoDB分片
为了实现分片需要创建数据,这里直接使用for添加50000条数据
MongoDB分片
使用sh.status()查看分片状态。这里我们看到并没有开启分片
MongoDB分片
可以使用sh.enableSharding("school")来开启数据库分片,但是并没有开启表分片
MongoDB分片
首先需要创建一个索引
MongoDB分片
开启表分片
MongoDB分片
6.添加删除分片服务器
MongoDB分片
首先再创建一个分片服务器。在使用shardAdded命令添加分片服务器。使用sh.status()查看分片状态。
MongoDB分片
删除分片服务器
MongoDB分片

转载于:https://blog.51cto.com/13840048/2175711

你可能感兴趣的文章
Windows7下安装配置PostgreSQL10
查看>>
HSmartWindowControl 之 显示图像
查看>>
ASP.NET Core 用户注册 - ASP.NET Core 基础教程 - 简单教程,简单编程
查看>>
dom4j解析xml获取所有的子节点并放入map中
查看>>
【spring boot】启动类启动 错误: 找不到或无法加载主类 com.codingapi.tm.TxManagerApplication 的解决方案...
查看>>
WPF 利用键盘钩子来捕获键盘,做一些不为人知的事情...完整实例
查看>>
C# 创建、部署和调用WebService的简单示例
查看>>
因为喜欢“对抗”,这位安全首席架构师一年为网易云节省上千万
查看>>
Dora.Interception,为.NET Core度身打造的AOP框架 [5]:轻松地实现与其他AOP框架的整合...
查看>>
Centos7通过yum安装最新MySQL
查看>>
poi 升级至4.x 的问题总结(POI Excel 单元格内容类型判断并取值)
查看>>
WPF 从文件加载字体
查看>>
Xshell出现要继续使用此程序必须应用到最新的更新或使用新版本
查看>>
JVM常见的七种垃圾收集器的简单比较
查看>>
异步调用webservice
查看>>
(原創) 如何在Ubuntu上啟動ADSL連線? (OS) (Linux) (Ubuntu)
查看>>
Orchard: module开发基础技术知识
查看>>
什么是UPS电源系统
查看>>
产品管理:产品的三种驱动类型-技术、销售和市场驱动
查看>>
抓取html 写正则
查看>>