首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MongoDB标记感知的切分工作流

MongoDB标记感知的切分工作流
EN

Database Administration用户
提问于 2014-11-20 20:18:16
回答 1查看 231关注 0票数 0

我想知道标记感知分片中分片集群的工作流程。

代码语言:javascript
复制
--- Sharding Status --- 
  sharding version: {
    "_id" : 1,
    "version" : 3,
    "minCompatibleVersion" : 3,
    "currentVersion" : 4,
    "clusterId" : ObjectId("546df06d63a15917a8356f4e")
}
  shards:
    {  "_id" : "shard0000",  "host" : "hadoop4:27017",  "tags" : [  "TR" ] }
    {  "_id" : "shard0001",  "host" : "hadoop5:27018",  "tags" : [  "US" ] }
    {  "_id" : "shard0002",  "host" : "hadoop6:27017",  "tags" : [  "OTHER" ] }

  databases:
    {  "_id" : "admin",  "partitioned" : false,  "primary" : "config" }
    {  "_id" : "inventory",  "partitioned" : true,  "primary" : "shard0000" }

在标记感知的切分中,通过mongos使用mongorestore命令,首先将所有数据写入PrimaryDatabase,然后迁移适当的块?

或者它可以填充适当的块,根据tagRange在乞讨插入?

例如,当我插入{country:"US",关键字:“abc”}文档时,首先它会转到shard0001或主数据库shard0000,然后块迁移到shard0001?

EN

回答 1

Database Administration用户

发布于 2014-11-20 23:21:58

这取决于插入的分布是否会发生移动以及移动的次数。

1)从一个位于主(例如shard000)上的块{minkey,maxkey}开始

2)当您插入数据时,将发生分裂。可能是

2.1) {minkey,US} {US,maxkey} ->将第二个块移动到shar001

) {minkey,TR} {TR,maxkey} ->将第一个块移动到shard001

( ->将第二个碎片移动到shard002

( 3)除了2.1,我无法分析所有的路径)

{US,maxkey}是不可移动的,所有的块也都来自它。

{minkey,US}取决于它是否会按照下一次拆分移动

……

票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/83206

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档