Sharding ,分片模式)

技术Sharding ,分片模式) Sharding (分片模式)Sharding (分片模式)
副本集可以解决主节点发生故障导致数据丢失或不可用的问题,但遇到需要存储海量数据的情况时,副本集机制就束手

切片(切片模式)

Sharding (分片模式)

副本集可以解决主节点故障导致的数据丢失或不可用的问题,但当需要存储大量数据时,副本集机制就束手无策了。副本集中的一台机器可能不足以存储数据,或者群集可能无法提供可接受的读写吞吐量。这需要MongoDB的分片技术,这是MongoDB的另一种集群部署模式。

分片是指将数据拆分并分散存放在不同机器上的过程.有时这个概念是用划分来表达的。将数据分布到不同的机器上,您就可以存储更多的数据并处理更大的负载,而无需强大的大型计算机。

MongoDB支持自动切片,可以让数据库架构对应用不可见,简化系统管理。对于应用程序来说,这就像总是使用一个MongoDB服务器。

MongoDB的分片机制允许创建一个具有多台机器的集群,这将数据子集分散在集群中,每个分片维护数据集的一个子集。与副本集相比,使用集群架构可以使应用程序具有更强大的数据处理能力。

MongoDB片段的集群模式如下图所示:

要构建一个MongoDB分片集群,有三个重要的组件,即分片服务器、配置服务器和路由服务器。

Shard Server(分片服务器)

每个分片服务器都是一个mongod数据库实例,用于存储实际的数据块。整个数据库集合被分成几个块,并存储在不同的Shard Server中。

在实际生产中,分片服务器可以由副本集中的几台机器组成,以防止整个系统由于主节点的单点故障而崩溃。

Config Server(配置服务器)

这是一个独立的mongod进程,保存集群和碎片的元数据,在集群启动之初建立,保存每个碎片包含数据的信息。

Route Server(路由服务器)

这是一个独立的mongos进程,Route Server可以作为集群中的一个路由,客户端访问它,这使得整个集群看起来像一个单独的数据库,并提供了客户端应用程序和碎片化集群之间的接口。

路由服务器本身不保存数据。启动时,它将集群信息从配置服务器加载到缓存中,并将客户端的请求路由到每个分片服务器。在每个碎片服务器返回结果后,它会将其聚合并返回给客户端。

在实际生产环境中,副本集和分片一起使用,可以满足实际应用场景中高可用性和高可扩展性的需求。

高可用 MongoDB 分布式集群架构

在实际的生产环境中,MongoDB的集群架构是分布式的。如下图所示,集群将结合副本集和分片机制,确保生产过程的高可靠性和可扩展性。

从上面的集群可以看出,整个生产集群类似于碎片化的集群架构,由三个重要的组件组成,包括Shard Server、Config Server和Route Server。不同的是,每个组件可以使用多个实例来确保集群的可靠性。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/112509.html

(1)

相关推荐

  • fedora安装软件命令(fedora u盘安装)

    技术fedora 16下如何安装使用mysql小编给大家分享一下fedora 16下如何安装使用mysql,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了

    攻略 2021年12月18日
  • VTK中常用控件介绍及如何实现圆锥体绘制

    技术VTK中常用控件介绍及如何实现圆锥体绘制VTK中常用控件介绍及如何实现圆锥体绘制,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。利用 VT

    攻略 2021年11月15日
  • docker-compose基本开发环境部署文件是怎样的

    技术docker-compose基本开发环境部署文件是怎样的docker-compose基本开发环境部署文件是怎样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个

    攻略 2021年11月18日
  • 从SQL到NoSQL7种比较查询语言的指标分别是什么

    技术从SQL到NoSQL7种比较查询语言的指标分别是什么从SQL到NoSQL7种比较查询语言的指标分别是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望

    攻略 2021年11月30日
  • JavaScript如何改变元素属性

    技术JavaScript如何改变元素属性小编给大家分享一下JavaScript如何改变元素属性,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

    攻略 2021年11月8日
  • Python实战小项目之如何实现身份证信息校验

    技术Python实战小项目之如何实现身份证信息校验这篇文章主要介绍“Python实战小项目之如何实现身份证信息校验”,在日常操作中,相信很多人在Python实战小项目之如何实现身份证信息校验问题上存在疑惑,小编查阅了各式

    攻略 2021年10月20日