当前位置: 首页 > news >正文

怎么理解ES的shard和segment

在Elasticsearch(ES)中,shard(分片)segment(段)是核心数据组织单元,可通过图书馆类比直观理解其关系与作用:

1. Shard(分片):图书馆的分馆

  • 定义:Shard是ES中数据的最小分配单位,一个索引(Index)的数据会被拆分为多个Shard,分散存储在集群的不同节点上。
  • 类比:将ES集群比作一个大型图书馆,每个Shard相当于一个独立的分馆。例如,一个全国性图书馆(索引)可能在北京、上海、广州设有分馆(Shard),每个分馆存储部分书籍(数据)。
  • 作用
    • 横向扩展:通过增加分馆(Shard)数量,图书馆可容纳更多书籍(数据),提升存储容量。
    • 并行处理:读者(查询请求)可同时向多个分馆借书(并行查询),提高吞吐量。
    • 容错性:若某个分馆(Shard)宕机,其他分馆仍可提供服务,确保数据可用性。

2. Segment(段):分馆的书架

  • 定义:每个Shard内部包含多个Segment,每个Segment是一个独立的倒排索引(存储数据与关键词的映射关系)。
  • 类比:将每个分馆(Shard)比作一个大型房间,房间内的书架(Segment)按类别排列。例如,一个分馆可能有“文学”“科技”“历史”三个书架,每个书架存储特定类别的书籍。
  • 作用
    • 数据组织:Segment将Shard内的数据按逻辑分组,便于快速检索。例如,查询“科技”类书籍时,只需搜索“科技”书架(Segment),无需遍历整个分馆。
    • 不可变性:书架(Segment)一旦建成,书籍(数据)不可直接修改。若需更新,需新建书架并标记旧书架为“过期”,后续查询时自动过滤过期数据。
    • 性能优化:小书架(小Segment)可快速构建和搜索,但过多书架会占用额外空间。ES会定期合并小书架为大书架(Segment Merge),减少资源开销。

3. Shard与Segment的协作流程

以用户搜索“Java”为例,说明Shard与Segment如何协同工作:

  1. 请求路由:用户请求被发送到协调节点(Coordinator),节点根据文档ID的哈希值将请求路由到包含目标Shard的节点。
  2. Shard内部查询:目标Shard将查询分发给所有Segment(如“文学”“科技”“历史”书架)。
  3. Segment并行搜索:每个Segment独立搜索“Java”关键词,返回匹配的文档ID列表。
  4. 结果合并:Shard汇总所有Segment的结果,按相关性排序后返回给协调节点。
  5. 最终响应:协调节点将排序后的结果返回给用户,完成搜索。

4. 类比总结

ES组件图书馆类比作用
Index全国图书馆总馆存储所有书籍的逻辑集合,用户通过总馆分类查找目标分馆。
Shard图书馆分馆(如北京、上海分馆)实际存储数据的物理单元,通过分散存储提升容量和并行处理能力。
Segment分馆内的书架(如“科技”“文学”书架)内部组织数据的逻辑单元,通过不可变设计优化查询性能和资源利用。
http://www.dtcms.com/a/418716.html

相关文章:

  • AI 超级智能体全栈项目阶段二:Prompt 优化技巧与学术分析 AI 应用开发实现上下文联系多轮对话
  • 新乡网站关键词优化电商网站开发实战视频教程
  • 公司无网站无平台怎么做外贸wordpress检查php版本号
  • Spark核心Shuffle详解(二)ShuffleHandler
  • React Native启动性能优化实战:Hermes + RAM Bundles + 懒加载
  • 怎么做淘宝客个人网站wordpress可视化编辑插件下载
  • [C++项目框架]gflags和gtest的简单介绍
  • Vue2 和 Vue3 中使用 Vue Router 的详细过程
  • 微服务项目->在线oj系统(Java-Spring)-后台管理(2)
  • 【MySQL体系】第2篇:MySQL索引类型和原理
  • flash型的著名网站网站开发公司怎么接单
  • 【第五章:计算机视觉-项目实战之图像分割实战】2.图像分割实战:人像抠图-(1)人像抠图Image Matting算法详解
  • 使用 PyTorch 构建并训练 CNN 模型
  • 如何做电影网站狼视听seo外包优化服务商
  • blender布局工作区突然变得很卡
  • 【计算机视觉】图像去雾技术
  • 工信部网站icp备案号文艺范wordpress主题
  • 树莓派无法播放哔哩哔哩等视频
  • 华为芯片泄密案警示:用Curtain e-locker阻断内部数据泄露
  • 记一次达梦数据库的查询异常
  • 泸州市建设工程管理局网站58网站怎么做品牌推广
  • 个人主题网站设计论文北京seo推广系统
  • AI编程开发系统001-基于SpringBoot+Vue的旅游民宿租赁系统
  • 通用人工智能(AGI):从技术探索到社会重构的 2025 展望
  • 【Web前端|第五篇】Vue进阶(一):Axios工具和前端工程化
  • RISE论文阅读
  • LeetCode 416 分割等和子集
  • web开发,在线%车辆管理%系统,基于Idea,html,css,vue,java,springboot,mysql
  • 《安富莱嵌入式周报》第358期:USB4雷电开源示波器,2GHz带宽,3.2Gsps采样率,开源亚微米级精度3D运动控制平台,沉浸式8声道全景声音频录制
  • Axure: 多级多选可交互树状列表