23. 当我试图更新一个正在被迁移的块(chunk)上的文档时会发生什么? 更新操作会立即发生在旧的分片(shard)上,然后更改才会在所有权转移(ownership transfers)前复制到新的分片上。 24. 如果在一个分片(shard)停止或者很慢的时候,我发起一个查询会怎样? 如果一个分片(shard)停止了,除非查询设置了“Partial”选项,否则查询会返回一个错误。如果一个分片(shard)响应很慢,MongoDB则会等待它的响应。 25. 我可以把moveChunk目录里的旧文件删除吗? 没问题,这些文件是在分片(shard)进行均衡操作(balancing)的时候产生的临时文件。一旦这些操作已经完成,相关的临时文件也应该被删除掉。但目前清理工作是需要手动的,所以请小心地考虑再释放这些文件的空间。 26. 我怎么查看 Mongo 正在使用的链接? db._adminCommand("connPoolStats"); 27. 如果块移动操作(moveChunk)失败了,我需要手动清除部分转移的文档吗? 不需要,移动操作是一致(consistent)并且是确定性的(deterministic);一次失败后,移动操作会不断重试;当完成后,数据只会出现在新的分片里(shard)。 28. 如果我在使用复制技术(replication),可以一部分使用日志(journaling)而其他部分则不使用吗? 可以。 |