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节点

相关推荐
天远Date Lab5 分钟前
Python实战:基于天远二手车估值API构建企业车队资产数字化管理方案
大数据·人工智能·python
北极九章ArcticData11 分钟前
销售管理团队如何用ChatBI实现数据驱动管理?
大数据·人工智能·数据分析·chatbi
jerryinwuhan19 分钟前
Spark安装配置2
大数据·分布式·spark
恼书:-(空寄20 分钟前
深入理解 Elasticsearch 写入与查询机制
大数据·elasticsearch·搜索引擎
TDengine (老段)22 分钟前
TDengine IDMP 0-阅读指南
大数据·数据库·人工智能·时序数据库·tdengine·涛思数据
黄昏回响33 分钟前
计算机系统基础知识(补充篇):数据库——数据仓库、数据中台与大数据技术详解
大数据·数据库·数据仓库
ACP广源盛1392462567338 分钟前
ASW3810@ACP#4 路差分 2:1/1:2 双向多路复用 / 解复用器 产品规格与应用总结
大数据·单片机·嵌入式硬件·计算机外设·电脑
dinl_vin39 分钟前
一文通关Spark
大数据·分布式·spark
AI营销资讯站42 分钟前
AI营销内容增长瓶颈?原圈科技以AI Agents破局之道
大数据·人工智能
hellolianhua44 分钟前
测试集群hdfs和mapreduce
大数据·hadoop·hdfs