文档存储在分片上
- 文档会存储在具体的某个主分片和副本分片上,例如文档1,会村粗在p0和r0分片上
- 文档到分片的映射算法
- 确保文档能均匀分布在所用的分片上,充分利用硬件资源,避免部分机器空闲,部分机器繁忙
- 潜在的算法
- 随机/round robin。当查询文档1,分片数很多,需要多次查询才可能查到文档1
- 文虎文档到分片的映射关系,当文档数据量大的时候,维护成本高
- 实时计算,通过文档1,自动算出,需要去那个分片上获取文档
文档到分片的路由算法
- shard = hash(_routing)%number_of_primary_shards
- hash算法确保文档均匀分散到分片中
- 默认的_routing值是文档id
- 可以自行制定routing数值,例如用相同国家的商品,都分配到指定的shard
-
设定index settings后,primary数,不能随意修改的根本原因
image.png
网友评论