当前位置: 首页 > 知识库问答 >
问题:

MongoDB分片和读取副本

艾凯捷
2023-03-14

我正在建立Shared集群的过程中。

我还想在集群中配置读副本。

假设有一个3,1个主要和2个次要的碎片。写将转到碎片的主成员,但我可以将所有读发送到次成员吗?

共有1个答案

陶永望
2023-03-14

不建议从分叉集群中的次要服务器读取。这是因为与主级不同,次级不知道碎片应该包含什么数据。因此,当块从一个碎片迁移到另一个碎片时,从第二个碎片读取可能会导致重复或丢失结果。

一般说来,从次元读取也意味着失去一致性保证,因为只要写入没有从主元传播,次元就会看到并返回陈旧的数据。

最后,您应该记住,次要文件接收的写负载与主文件接收的写负载基本相同,因此从次要文件读取不太可能提供很大的性能优势。

获得更多读吞吐量的推荐方法通常是添加更多的碎片,而不是从次元读取。

 类似资料:
  • 主要内容:MongoDB 中的分片,分片实例分片是跨多台机器存储数据的过程,它是 MongoDB 满足数据增长需求的方法。随着数据的不断增加,单台机器可能不足以存储全部数据,也无法提供足够的读写吞吐量。通过分片,您可以添加更多计算机来满足数据增长和读/写操作的需求。 为什么要分片? 在复制中,所有写操作都将转到主节点; 对延迟敏感的查询仍会转到主查询; 单个副本集限制为 12 个节点; 当活动数据集很大时,会出现内存不足; 本地磁盘不够大;

  • 问题内容: 我试图了解Elasticsearch中的分片和副本,但是我没有设法理解它。如果我下载Elasticsearch并运行脚本,那么据我所知,我已经启动了具有单个节点的集群。现在,该节点(我的PC)具有5个分片(?)和一些副本(?)。 它们是什么,我有5个重复的索引吗?如果可以,为什么?我可能需要一些解释。 问题答案: 我将尝试用一个真实的例子来解释,因为您得到的答案和答复似乎对您没有帮助。

  • 本文向大家介绍MongoDB分片测试,包括了MongoDB分片测试的使用技巧和注意事项,需要的朋友参考一下 分片是mongoDB扩展的一种方式。分片分割一个collection并将不同的部分存储在不同的机器上。当一个数据库的collections相对于当前空间过大时,你需要增加一个新的机器。分片会自动的将collection数据分发到新的服务器上。 1. 连接到mongos可查看系统相关信息 2.

  • 选择恰当的分片数量和分片副本数量 最开始使用ElasticSearch时,一般都是创建一个索引,导入数据,然后发送查询命令检索数据。我们确信系统运行庚子,至少在最开始,数据量不大而且QPS(Query Per Second)也不高的时候运行良好。在幕后,ElasticSearch创建了一些分片来存储数据,也可能还会创建分片副本(例如,如果用默认配置),而且用户在配置方面也不用过多地操心。 当应用程

  • 我正在尝试在我的本地机器上安装弹性搜索环境的单集群-多节点环境。我混淆了碎片和复制品的概念 情况1)在下面的pic中:emp索引碎片数=1和副本数=1,这似乎很好,因为主节点不包含副本,碎片数应该是1,所以分配另一个节点中的一个成为它的碎片和副本 情况2)在情况2中,员工索引-i增加了碎片数=2和副本数=2-> 下面那个头部插件在暗示什么 1)我们设置的碎片数量是否存在于每个节点中-例如,在emp

  • 我们有几个微服务在EKS的帮助下运行在AWS中。到目前为止,数据存储在Oracle数据库中。我们在微服务和Oracle DB之间有一个Kafka话题。 现在我们计划转移到AWS Aurora db并将数据库也放在云中。到目前为止,我们的微服务(在spring boot中实现)没有任何云特定的代码,这意味着AWS SDK集成。所以我们的代码库是云不可知的,我们计划保持这种方式。 现在我们计划编写一个