查询以检查MongoDB块大小?

时间:2011-02-18 14:11:15

标签: mongodb

是否有任何查询来检查MongoDB块大小?。我知道默认块大小是200MB。如果超过块大小,分片会被分割成下一个块正确吗?你能帮助我吗? ....

3 个答案:

答案 0 :(得分:1)

您可以在“config”数据库中查看它:

use config
db.settings.find()

默认为64MB,而不是200.

答案 1 :(得分:0)

  

是否有任何查询来检查MongoDB块大小

根据the docs,应该有一个选项来查找配置大小。

连接到配置服务器mongo configdb:port/config)时运行以下内容

db.settings.find()
  

我发现默认的块大小是200MB。

200MB的数量取决于您的版本。旧版本默认为200MB。在发布分割之前,最新版本实际上将在64MB和200MB之间扩展。

  

如果超过块大小,分片会被分割成下一个块正确吗?

此处的默认行为是在块达到该阈值时开始拆分过程。这一举动不是即时的,有一整个移动数据的过程,检查它是否同步然后“切换”。

只要您有足够的数据进行拆分,这一切都应该自动处理。 (并且您选择了一个分片键)

答案 2 :(得分:0)

在Mongo 3.6中,您可以使用

找到mongos中的块大小
use Name_of_db;
db.collection.getShardDistribution();

3.6中的默认块大小为64 MB

当此大小超过时,块将被拆分(除了Jumbo块的情况,这意味着块不能被分割,因为一个分片键值以高频率出现)。

其他答案指的是config.settings,但是在这里你只能找到更改块大小的设置。