我正在构建一个具有以下用例的跟踪平台。
因此,我需要扩展写入并实现查询隔离。 我可以使用地理区域创建一个分片群集作为分片键(geohash)。这将有助于我平衡写入并实现查询隔离。但是当车辆穿过区域时会发生什么情况,在这种情况下,mangodb会自动将文档移动到新的碎片?
答案 0 :(得分:2)
一旦写入,您就无法更改记录的分片键字段。使用区域作为分片键将阻止您跨区域移动,除非您删除原始区域中的记录和使用新区域的插入。
选择分片键时,请查找与最常见查询模式匹配的分片键。查询分片键将允许您直接从分片中检索记录。不使用分片键的查询必须对所有分片执行分散收集查询。
如果已启用或可以使用Mongodb 2.4,并且您不需要执行基于范围的查询,您可能需要考虑使用hashed shard key,即使您的分片键是单调增加。有关选择分片键的建议,请参阅this page。