MongoDB中的集群是什么?

时间:2017-04-17 06:02:00

标签: mongodb

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

3 个答案:

答案 0 :(得分:19)

mongodb群集是mongodb中通常用于分片群集的词。分片mongodb的主要目的是:

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

这是来自官方doc的mongodb分片群集的表示。

mongodb sharded cluster

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

复制品的想法是:

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

来自官方doc

的复制表示

enter image description here

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

答案 1 :(得分:0)

如果你在mongo的cloud website中创建一个集群,那就更清楚了。试试免费版。您可以看到服务器的实时监控。enter image description here

答案 2 :(得分:0)

  

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

     

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

     

复制:一种允许多个数据库服务器共享同一数据的功能,从而确保冗余并促进负载平衡。 (冗余是一种系统设计,其中复制了一个组件,因此如果失败,将进行备份。)

     

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

     

分片群集由十个服务器组成:一个用于mongos(客户端应用程序和分片群集之间的接口)的服务器,以及三个用于第一个副本集,第二个副本集和配置服务器副本集的服务器      

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

来源:MongoDB文档:GlossaryCreate a ClusterConvert a Replica Set to a Sharded Cluster