ES集群分布式查询原理

集群分布式查询

elasticsearch的查询分成两个阶段:

  • scatter phase:分散阶段,coordinating node会把请求分发到每一个分片
  • gather phase:聚集阶段,coordinating node汇总data node的搜索结果,并处理为最终结果集返回给用户分片存储原理

集群分布式存储

当新增文档时,应该保存到不同分片,保证数据均衡,那么coordinating node如何确定数据该存储到哪个分片呢?

分片存储原理:

elasticsearch会通过hash算法来计算文档应该存储到哪个分片:

说明:

  • _routing默认是文档的id
  • 算法与分片数量有关,因此索引库一旦创建,分片数量不能修改!

新增文档的流程如下:

解读:

1)新增一个id=1的文档

2)对id做hash运算,假如得到的是2,则应该存储到shard-2

3)shard-2的主分片在node3节点,将数据路由到node3

4)保存文档

5)同步给shard-2的副本replica-2,在node2节点

6)返回结果给coordinating-node节点

相关推荐
zgl_2005377917 分钟前
源代码:跨数据库通用“字段级”数据血缘解析与图形化(2/3:标注信息的拆解、检验、保存)
大数据·数据库·数据仓库·sql·数据挖掘·etl·嵌入式实时数据库
BD_Marathon23 分钟前
Hadoop常用端口号
java·大数据·hadoop
智恒百亿25 分钟前
企业 AI 推理本地化部署:GPU 服务器选型技术分析(2026 年 8 月)
大数据·服务器·人工智能
黎阳之光25 分钟前
软硬协同国产化 | 黎阳之光矩阵式视频融合管理系统完成摩尔线程国产GPU兼容适配
大数据·人工智能·物联网·安全·数字孪生
长谷深风11132 分钟前
读懂 MCP:能力、传输与多 Server 连接
java·大数据·ai·ai agent·mcp·streamable http·agent设计
Elasticsearch35 分钟前
机构如何统一智慧城市数据以改善公共服务?
elasticsearch
whcyhhh35 分钟前
头歌实践教学平台:数据科学与大数据技术导论(十八2)
大数据·开发语言·python
智圣新创0141 分钟前
存量数字化校园升级破局:从基础数据集成到校务服务全域提效的通用落地路径
大数据·人工智能·物联网
Databuff1 小时前
使用Pinpoint作分布式链路跟踪系统
运维·分布式·运维开发·开源软件
SelectDB技术团队1 小时前
Apache Doris 在内容 AI 生产链路中的实践:从内容打标到可追溯数据链路
大数据·人工智能·大模型·向量检索·混合搜索·ai 打标·内容分析