我是mongoDB的新手,完全不了解数据库,所以想知道mongoDB中的集群是什么,连接到mongoDB中的集群有什么意义?是必须连接到一个主机,还是我们可以直接连接到本地主机?

推荐答案

mongodb集群在mongodb中通常用于sharded cluster.分片mongodb的主要用途是:

  • 沿多个 node zoom 读写
  • 每个 node 不处理整个数据,因此可以沿碎片的所有 node 分离数据.每个 node 都是一个碎片(这是一个复制集,请参见下面的解释)的成员,所有碎片上的数据都是分开的.

这是官方doc的mongodb分片集群的表示.

mongodb sharded cluster

If you are starting with mongodb, I do not recommend you to shard your data.碎片的维护和处理要比复制集复杂得多.

复制集的理念是:

  • 每个数据都会在每个 node 上重新分区
  • 只有一个 node 接受写入

来自官方doc的复制集表示

enter image description here

对于简单的应用程序there is no problem to have your mongodb cluster on the same host than your application.您甚至可以在单个成员集上使用它们,但您将不再具有容错能力.

Mongodb相关问答推荐

通过mongoDB中的查找从管道中删除被阻止的用户

用其他集合中的文档替换嵌套文档数组中的值

在出现错误时忽略mongodb事务回滚是好做法吗

在不知道字段名称的情况下如何引用 MongoDB 中的字段?

对对象数组进行分组并在 mongodb 中获取计数

在推入 mongodb 时自动填充 golang struct 中的 created_at 和 updated_at

如何在mongodb中级联删除文档?

使用MongoDB作为我们的主数据库,我应该使用单独的图数据库来实现实体之间的关系吗?

MongoDB C# 驱动程序 2.0 InsertManyAsync 与 BulkWriteAsync

MongoDB 使用自定义表达式或函数进行排序

MongoDB 2.1 聚合框架总和匹配名称的数组元素

Select 匹配mongodb中两个字段的concat值的记录

MongoDB聚合排序不起作用

具有 AWS 云形成和自动zoom 的 Mongodb 集群

Mongodb:为什么 show dbs 不显示我的数据库?

Python Django-REST-framework 和 Angularjs 的文件夹 struct

MongoError: The dollar ($) prefixed field '$push' in '$push' is not valid for storage

MongoDB聚合框架的索引优化

我可以只获取 Cursor 对象(pymongo)中的第一项吗?

哪个数据库适合我的应用程序 mysql 或 mongodb ?使用 Node.js 、 Backbone 、 Now.js