MongoDB中的集群是什么?

Ong*_*Tat 24 mongodb

我是mongoDB的新手,对数据库一无所知,所以想知道MongoDB中的集群是什么,在MongoDB中连接到集群有什么意义?连接到一个是必须的还是我们可以连接到localhost?

Jul*_*SIN 31

甲mongodb的簇是通常用于字分片集群中的mongodb.分片mongodb的主要目的是:

  • 缩放沿多个节点读取和写入
  • 每个节点都不处理整个数据,因此您可以沿着分片的所有节点分隔数据.每个节点都是一个分片的成员(这是一个复制集,请参见下面的解释),并且所有分片上的数据都是分开的.

这是来自官方文档的mongodb分片群集的表示.

mongodb分片群集

如果您从mongodb开始,我建议您不要对数据进行分片.与复制品相比,碎片的维护和处理更加复杂.你应该看一下基本的复制品.它具有容错能力,足以满足简单需求.

复制的想法是:

  • 每个节点上都会重新分配每个数据
  • 只有一个节点接受写入

来自官方文档的复制表示

在此输入图像描述

对于简单的应用程序,将mongodb集群放在与应用程序相同的主机上是没有问题的.您甚至可以将它们放在单个成员复制集上,但您将不再具有容错能力.


Nat*_*lie 8

Atlas 管理的 MongoDB 部署或“集群”可以是 副本集或分片集群

副本集:实现复制和自动故障转移的 MongoDB 服务器集群。(故障转移是一种保护计算机系统免受故障的方法,当主系统出现故障时,备用设备会自动接管。)

复制:允许多个数据库服务器共享相同数据的功能,从而确保冗余并促进负载平衡。(冗余是一种系统设计,其中组件被复制,因此如果出现故障,则会有备份。)

分片集群:包含分片 MongoDB 部署的节点集。分片集群由配置服务器、分片和一个或多个 mongos 路由进程组成。

分片:一种跨多台机器分发数据的方法。

分片集群由 10 个服务器组成:一个服务器用于 mongos [客户端应用程序和分片集群之间的接口],三个服务器分别用于第一个副本集、第二个副本集和配置服务器副本集

-碎片:一个单一的mongod实例或副本集,其存储一个分片群集的总数据集的某些部分。在生产中,所有分片都应该是副本集。

来源:MongoDB 文档:词汇表创建集群将副本集转换为分片集群