我想知道标记感知分片中分片集群的工作流程。
--- 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?
发布于 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}取决于它是否会按照下一次拆分移动
……
https://dba.stackexchange.com/questions/83206
复制相似问题