`
bit1129
  • 浏览: 1070001 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

【MongoDB学习笔记十四】MongoDB分片自动均衡

 
阅读更多

假如MongoDB分片集群采用单调递增的字段作为片键,例如系统时间,那么随着插入的增多,越来越多的文档将插入到区间到正无穷的分片上,这样,分片将不均衡,MongoDB提供了自动均衡的方法来将数据量进行均衡。

 



 

 

均衡进程的运行机制

 

The balancer is a background process that manages chunk migrations. The balancer runs in all of the query routers in a cluster.

When the distribution of a sharded collection in a cluster is uneven, the balancer process migrates chunks from the shard that has the largest number of chunks to the shard with the least number of chunks until the collection balances. For example: if collection users has 100 chunks on shard 1 and 50 chunks on shard 2, the balancer will migrate chunks from shard 1 to shard 2 until the collection achieves balance.

The shards manage chunk migrations as a background operation between an origin shard and a destination shard. During a chunk migration, the destination shard is sent all the current documents in the chunk from the origin shard. Next, the destination shard captures and applies all changes made to the data during the migration process. Finally, the metadata regarding the location of the chunk on config server is updated.

If there’s an error during the migration, the balancer aborts the process leaving the chunk unchanged on the origin shard. MongoDB removes the chunk’s data from the origin shard after the migration completes successfully.

 

 

在实际中,通常会把MongoDB自动均衡这个选项禁掉,也就是不允许MongoDB做自动均衡,那么问题来了,当新增一个分片时,如果把原来分片中的数据移动到新分片,做到数据均衡

 

 

  • 大小: 19.3 KB
分享到:
评论

相关推荐

    mongodb学习笔记资料

    mongodb学习笔记资料,从安装到操作库collection 对document的crud 索引 replicaSet sharding 备份与恢复

    MongoDB学习笔记

    自己在学习MongoDB的一些笔记,里面有各个查询选择器的使用截图,还有一些索引的介绍。

    mongodb分片备份

    本文将详细介绍MongoDB的分片备份以及复制集的备份方法。 **1. 分片备份** MongoDB 分片是将大数据集分散到多个物理节点上,以提高查询性能和存储容量。分片备份主要涉及配置服务器(Config Server)的备份。配置...

    Mongodb学习笔记.docx

    MongoDB 学习笔记 本文档是 MongoDB 学习笔记,涵盖了 NoSQL、Cache、运行平台等多个方面的知识点。 一、NoSQL 数据库 MongoDB MongoDB 是一个强大、灵活、可扩展性好的文档数据存储器,可以完成大部分关系数据库...

    MongoDB学习笔记思维导图.pdf

    本篇学习笔记将从基础操作到高级功能,详细阐述MongoDB的关键知识点。 首先,MongoDB的基本单元是集合(collection),类似于关系型数据库中的表,而集合中的元素称为文档(document),文档是键值对的集合,类似于...

    mongodb中文API及分布式分片实例详解

    6. 负载均衡:MongoDB的平衡器会定期检查数据分布,当某分片负载过高或空闲时,会自动迁移数据以保持平衡。 7. 查询路由:客户端通过路由进程查询数据,路由进程根据分片键将请求转发到正确分片。 总结,MongoDB的...

    MongoDB4.2分片及副本集群搭建

    MongoDB4.2分片及副本集群搭建 MongoDB集群 MongoDB分片 MongoDB副本 MongoDB副本集群

    mongodb分片集群增加acl

    MongoDB分片集群是一种分布式数据存储结构,可以实现水平扩展。分片集群由三部分组成:mongos路由服务器、config配置服务器和多个分片节点。mongos作为路由服务器,负责接收客户端请求并将其转发到正确的分片。...

    mongodb分片设计

    MongoDB分片设计是针对大数据量的存储和处理提出的解决方案。在大数据环境下,单个数据库服务器往往难以满足高性能和高可用性的需求。MongoDB通过分片(Sharding)技术来解决这个问题。分片是一种将数据分散存储在多...

    mongodb学习笔记和mongodb权威指南

    首先,`mongodb_and_python`学习笔记可能涵盖了如何使用Python编程语言与MongoDB进行交互。Python是常见的MongoDB驱动程序之一,通过PyMongo库,开发者可以方便地执行CRUD(创建、读取、更新、删除)操作,构建复杂...

    k8s 安装 mongodb 分片(Sharding)+ 副本集(Replica Set)

    本解决方案通过使用 Kubernetes 部署 MongoDB 分片(Sharding)和副本集(Replica Set),从而实现 MongoDB 集群的自动化管理和高可用性。 在本解决方案中,我们首先需要安装 Kubernetes 环境,并且需要准备好 NFS ...

    mongodb学习笔记

    在本篇 MongoDB 学习笔记中,我们将聚焦于 MongoDB 的集群和分片(sharding)配置,这是实现大规模数据存储和处理的关键特性。 1. **MongoDB 集群**: - 集群是由多个独立的 MongoDB 实例组成的,它们共同提供高...

    mongoDB学习笔记及工具.zip

    本压缩包“mongoDB学习笔记及工具.zip”包含了一些资源,帮助你深入理解和掌握MongoDB的相关知识。 1. **笔记(note.txt)**: 这个文件可能是对MongoDB的基础概念、安装过程、基本操作和进阶特性的详细记录。笔记...

    MongoDB学习笔记1

    MongoDB 是一种流行的开源、非关系型数据库系统,以其灵活性、高性能和易用性而备受开发者青睐。在本文中,我们将深入探讨 ...在实际项目中,学习和掌握 MongoDB 及其驱动程序能够帮助你更好地应对现代数据存储需求。

    MongoDB分片副本级

    MongoDB分片副本级 详细的讲述了MongoDB分片副本级配置

    实验五 MongoDB分片部署与启动

    本次实验旨在深入学习MongoDB的分片机制,理解并掌握如何部署一个基于多服务器的MongoDB分片集群。分片是MongoDB的一项重要特性,它允许将数据分散存储在多个物理服务器上,从而提高系统的可扩展性和性能。实验主要...

    MongoDB学习笔记思维导图

    总结的MongoDB的学习笔记,基本上包括了MongoDB的方方面面,每个知识点,都有示例代码,有需要的朋友,可以下载下来进一步补充完善。

    mongodb副本集加分片集群安全认证使用账号密码登录

    mongodb副本集加分片集群安全认证使用账号密码登录

Global site tag (gtag.js) - Google Analytics