ES文档路由原理
2024-10-22 06:56:31 阅读次数:1
ES,流程
7 ES文档路由原理
ES文档分布式存储,当一个文档存储至 ES集群时,存储的原理是什么样的?
如图所示,当我们想一个集群保存文档时,Document1是如何存储到分片P1的?选择P1的依据是什么?
其实是有一个文档到分片的映射算法,其目是使所有文档均匀分布在所有的分片上,那么是什么算法呢?随机还是轮询呢?
这种是不可取的,因为数据存储后,还需要读取,那这样的话如何读取呢?
实际上,在ES 中,通过如下的公式计算文档对应的分片存储到哪个节点,计算公式如下:
shard = hash(routing) % number_of_primary_shards
# hash 算法保证将数据均匀分散在分片中
# routing 是一个关键参数,默认是文档id,也可以自定义。
# number_of_primary_shards 主分片数
# 注意:该算法与主分片数相关,一但确定后便不能更改主分片。
# 因为一旦修改主分片修改后,Share的计算就完全不一样了
7.1 文档的创建流程
7.2 文档的读取流程
7.3 文档批量创建的流程
7.4 文档批量读取的流程
版权声明:本文内容来自第三方投稿或授权转载,原文地址:https://blog.51cto.com/u_13236892/7893546,作者:哭泣的馒头,版权归原作者所有。本网站转在其作品的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如因作品内容、版权等问题需要同本网站联系,请发邮件至ctyunbbs@chinatelecom.cn沟通。
上一篇:Iptables连接追踪state
下一篇:Dubbo快速入门