mongodb in 数据库手册

是一种跨多台机器分布数据的方法。 使用分片来支持超大数据集和高吞吐量操作的部署。

存在大型数据集或高吞吐量应用程序的数据库系统可能对单个服务器的容量构成挑战。例如,较高的查询速率可能会耗尽服务器的 CPU 容量。大于系统 RAM 的工作集大小会对磁盘驱动器的 I/O 容量造成压力。

有两种方法可解决系统增长问题:垂直扩展和水平扩展。

(垂直扩展)涉及增大单个服务器的容量,例如使用更强大的 CPU、添加更多 RAM 或增加存储空间量。可用技术所存在的限制可能会导致单个机器对给定工作负载来说不够强大。此外mongodb in,基于云的提供商存在基于可用硬件配置的硬上限。因此,垂直扩展存在实际的最大值。

(横向扩展)涉及将系统数据集和负载划分到多个服务器,以及按需增加服务器以提高容量。虽然单个机器的总体速度或容量可能不高,但每个机器均可处理总体工作负载的一部分,因此可能会比单个高速、高容量服务器提供更高的效率。扩展部署的容量只需按需添加额外的服务器,而这可能会比单个机器的高端硬件的整体成本更低。但代价在于它会增大部署的基础设施与维护的复杂性。

支持通过进行水平扩展。

您可以在用户界面中为 Atlas 托管的部署

分片集群

注意

由以下组件构成:

下图描述了分片集群内各组件之间的交互:

在级别对数据进行分片,从而将集合数据分布到集群中的分片上。

分片键

使用在分片之间分发集合的文档。 分片键由文档中的一个或多个字段组成。

分片集合中的文档可能缺少分片键字段。跨分片分发文档时,缺少的分片键字段将视为具有 null 值,但在路由查询时则不会。有关更多信息,请参阅。

您在时会选择分片键。

文档的分片键值决定了其在各分片中的分布。您可以更新文档的分片键值,除非您的分片键字段是不可变的 _id 字段。有关详细信息,请参阅。

分片键索引

要对已填充的集合进行分片,该集合必须具有以分片键开头的。对空集合进行分片时,如果该集合还没有指定分片键的适当索引mongodb in, 会创建支持索引。请参阅。

分片键策略

分片键的选择会影响分片集群的性能、效率和可扩展性。 具有最佳硬件和基础架构的集群可能会因为选择分片键而遇到瓶颈。 分片键及其后备索引的选择也会影响集群可以使用的。

数据段

将数据分片为。每个数据段都有一个基于、包含下限且不包含上限的范围。

负载均衡器和均匀数据分布

为了实现数据在集群中所有分片上的均匀分布,会在后台运行mongodb in,以便在各之间迁移。

分片的优点

读取/写入

mongodb in

在中的之间分配读写工作负载,支持每个分片处理集群操作的子集。通过添加更多的分片,读写工作负载都可以在集群中横向扩展。

对于包含分片键或分片键前缀的查询, 可将查询定向到特定分片或一组分片。这些通常比向集群中的每个分片更为有效。

存储容量:

将数据分布在集群中的上,从而允许每个分片包含整个集群数据的子集。随着数据集的增长,更多的分片会增加集群的存储容量。

高可用性

按副本集部署配置服务器和分片,可提高可用性。

即使一个或多个分片副本集变为完全不可用,分片集群仍可继续执行部分读取和写入操作。换言之,即便无法访问不可用分片上的数据,针对可用分片的读取或写入仍可成功完成。

分片前的考虑因素

需要对分片集群基础架构的需求和复杂性进行仔细规划、执行和维护。

虽然您可在后续对mongodb in 数据库手册,但请务必仔细考虑分片键的选择,以免出现可扩展性与性能问题。

要了解集合分片操作的要求和限制,请参阅分片集群中的操作限制。

如果查询不含分片键或分片键的前缀, 则会执行,从而查询分片集群中的所有分片。这些分散/聚集查询可能会长时间运行。

从 5.1 开始,在启动、重新启动或添加含 的时,必须设置。

如果未设置 CWWC,并且将分片配置成为 { w : 1 },将无法启动或添加分片服务器并返回错误。

请参阅,详细了解如何计算默认写关注。

注意

如果您与 签订了有效的支持合同,请考虑联系您的客户代表,以获取分片集群规划和部署方面的帮助。

重新分片以实现平衡

当您运行 方法时,负载均衡器开始将集合数据分发到集群中的其他分片。单个分片一次只能参与一个数据块迁移。当成功将一定范围的数据从一个分片复制到另一个分片时,源分片上的范围将被范围删除器标记为待删除。此进程缓慢且需要大量资源。

从 8.0 开始,如果您的部署满足,建议您使用 方法对集合分片。此方法封装 和 命令以对集合分片,并立即将其重新分片为相同的键。这会导致在各分片之间重新平衡数据,而无需等待负载均衡器。

有关更多信息,请参见

分片和非分片集合

数据库可混合使用分片和未分片集合。分片集合会并分布在集群的各个上。分片片集合可以位于任何分片上,但不能跨分片。

连接到分片集群

您必须连接到 路由器才能与中的任意集合进行交互。其中包括分片和非分片集合。客户端永不应连接到单个分片来执行读取或写入操作。

您可像使用 或 驱动程序以连接到 一样来连接 。

注意

mongodb in

从 8.0 开始,您只能在分片的集群中的节点上运行。如果您尝试直接连接到节点并运行不受支持的命令, 将返回错误:

.leafygreen-ui-9ybzas{color:inherit;font-family:'Source Code Pro',Menlo,monospace;font-size:15px;line-height:24px;}.leafygreen-ui-1tr4g10{border-spacing:0;}.leafygreen-ui-7razhx{border-spacing:0;vertical-align:top;padding:0 16px;}
"You are connecting to a sharded cluster improperly by connecting directly
to a shard. Please connect to the cluster via a router (mongos)."

要直接对分片集群中的节点运行不受支持的数据库命令,您必须连接到 或具有仅维护的 s角色。

分片策略

支持两种分片策略,可在多个之间分配数据。

哈希分片

哈希分片涉及计算分片键字段值的哈希值。然后,根据哈希分片键值为每个分配一个范围。

提示

在使用哈希索引解析查询时,会自动计算哈希值。应用程序无需计算哈希值。

虽然分片键的范围可能“相近”mongodb in 数据库手册,但它们的哈希值却不太可能位于同一。基于哈希值的数据分配可促进更均匀的数据分布,尤其是在分片键变化的数据集中。

然而,哈希分布意味着对分片键进行基于范围的查询时,不太可能以单个分片为目标,从而导致更多的集群范围的

请参阅哈希分片以了解更多信息。

范围分片

范围分片涉及根据分片键值将数据划分为多个范围。然后,根据分片键值为每个分配一个范围。

具有“相近”数值的一系列分片键更有可能位于同一个上。这允许进行,因为 只能将操作路由到包含所需数据的分片。

范围分片的效率取决于所选分片键。考虑不周的分片键可能会导致数据分布不均,从而抵消分片的某些好处甚或导致性能瓶颈。请参阅。

有关更多信息,请参阅范围分片。

分片集群中的区域

区域可帮助改善跨多个数据中心的分片集群的数据局部性。

在分片集群中,可以根据创建分片数据。您可以将每个区域与集群中的一个或多个分片相关联。一个分片可以与任意数量的区域关联。在均衡的集群中, 仅将区域覆盖的迁移到与该区域相关联的分片。

每个区域涵盖值的一个或多个范围。某一区域所覆盖的每个范围始终包括其下边界,而不包括其上边界。

点击放大

为要覆盖的区域定义范围时,必须使用中包含的字段。如果使用的是分片键,此范围则须包含分片键的前缀。请参阅以了解更多信息。

在选择分片键时,应考虑将来可能使用区域的情况。

提示

在对空的或不存在的集合进行分片之前设置区域和区域范围可更快地设置分区分片。

公告:
1. 本站所有资源来源于用户上传和网络,如有侵权请联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长处理!
6. 本站不售卖代码,资源标价只是站长收集整理的辛苦费!如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
7. 站长QQ号码 2205675299

资源库 - 资源分享下载网 » mongodb in 数据库手册

常见问题FAQ

关于资源售价和售后服务的说明?
本站所有资源的标价均为本站收集资源的辛苦费,不代表资源本身的价值。软件是高智慧高价值的商品,不可能是白菜价。本站资源标价只是赞助费用,收取的赞助费仅用来维持本站的日常运营!毕竟收集整理资料需要投入云计算资源和站长大量的精力。
代码有没有售后服务和技术支持?
由于代码的运行具有不可预见性,本站不保证代码完整可运行,不提供技术支持和售后服务。 本站原创代码都是站长自己开发的,可以有偿提供技术支持服务。 网站里标明【亲测】的代码都是站长亲测过的,其他的代码由于精力有限,没有一一测试,不能保证代码就一定能够使用,更没有技术支持服务,下载前请自行斟酌。
有没有搭建服务?
由于搭建服务比较费时费力,所以本站除了原创代码外均不提供搭建服务。本站分享代码纯属兴趣爱好,不以盈利为目的,请勿咨询有没有搭建服务,谢谢理解。
链接地址失效了怎么办?
请带上资源链接地址联系客服,工作时间内我们看到后将第一时间回复。
关于解压密码
本站资源一般都没有加密,如果发现需要解压密码的,那么就输入 hao.35dc.com 试试。

发表评论

资源库,由老程序员细心甄别、精心筛选,只为提供优质的源码资源

关于我们 联系我们