`
weitao1026
  • 浏览: 1052731 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Elasticsearch 的 Shard 和 Segment

 
阅读更多

Shard(分片)
      一个Shard就是一个Lucene实例,是一个完整的搜索引擎。一个索引可以只包含一个Shard,只是一般情况下会用多个分片,可以拆分索引到不同的节点上,分担索引压力。

segment
     elasticsearch中的每个分片包含多个segment,每一个segment都是一个倒排索引;在查询的时,会把所有的segment查询结果汇总归并后最为最终的分片查询结果返回;
     在创建索引的时候,elasticsearch会把文档信息写到内存bugffer中(为了安全,也一起写到translog),定时(可配置)把数据写到segment缓存小文件中,然后刷新查询,使刚写入的segment可查。
虽然写入的segment可查询,但是还没有持久化到磁盘上。因此,还是会存在丢失的可能性的。
      所以,elasticsearch会执行flush操作,把segment持久化到磁盘上并清除translog的数据(因为这个时候,数据已经写到磁盘上,不在需要了)。
当索引数据不断增长时,对应的segment也会不断的增多,查询性能可能就会下降。因此,Elasticsearch会触发segment合并的线程,把很多小的segment合并成更大的segment,然后删除小的segment。
     segment是不可变的,当我们更新一个文档时,会把老的数据打上已删除的标记,然后写一条新的文档。在执行flush操作的时候,才会把已删除的记录物理删除掉。

参考:http://stackoverflow.com/questions/15426441/understanding-segments-in-elasticsearch

分享到:
评论

相关推荐

    Elasticsearch-深入理解索引原理

    Elasticsearch-深入理解索引原理 Elasticsearch 中索引(Index)的概念是非常重要的,它是 Elasticsearch 存储数据的基本单元。...了解索引的原理和工作方式对于使用 Elasticsearch 是非常重要的。

    腾讯万亿级 Elasticsearch 架构实践

    其中,Node 是 Elasticsearch 集群中的一个节点,Index 是 Elasticsearch 中的一个索引,Document 是 Index 中的一个文档,Shard 是 Index 的一个分片,Replica 是 Shard 的一个副本。 Lucene 的倒排索引 Lucene ...

    项目课程系列之Elasticsearch

    为了实现水平扩展,Elasticsearch 将索引拆分为多个分片(shard)。每个分片都是一个完整的 Lucene 实例,可以在不同的节点上独立运行。同时,每个分片可以有多个副本(replica),以提供冗余和故障恢复。当主分片...

    Elasticsearch.docx

    Elasticsearch 是一款高度分布式、实时的搜索与分析引擎,常用于大数据的存储、索引和查询。其设计目标是实现高效、可扩展和高可用性。以下将详细阐述Elasticsearch的相关知识点。 首先,Elasticsearch的核心特性之...

    ElasticSearch写入原理及优化.docx

    Elasticsearch(ES)是一种流行的分布式搜索引擎和分析引擎,它以高效、实时的特性而闻名。本文主要探讨了Elasticsearch的写入、读取、检索数据的底层原理以及性能调优策略。 **Elasticsearch 写入数据流程** 1. ...

    Elasticsearch-深入理解索引原理1

    在深入理解Elasticsearch(简称ES)的索引原理前,我们需要先明白基本概念。ES是一种分布式全文搜索引擎,它将数据存储在索引中,这些索引类似于关系型数据库中的数据库,但具备更高的可扩展性和实时性。索引可以...

    EYou阿里云Elasticsearch智能优化运维工具分享.pdf

    EYou是阿里云为Elasticsearch提供的智能诊断系统,旨在帮助用户更全面地了解ES(Elasticsearch)集群的健康状况,并寻找更优的使用方式。本系统针对用户可能面临的多集群管理、业务场景差异、使用姿势多样化、问题多...

    ES主分片和副本数据大小不一样的情况

    在Elasticsearch (ES) 中,主分片和副本分片的数据大小可能不一致,这主要是由于它们内部的segment数量和结构差异所引起的。在理解这个问题之前,我们需要先了解一下ES的基本概念。 Elasticsearch 是一个分布式、...

    ELK-guide-cn.pdf

    - Routing 和 Replica:Elasticsearch通过Routing保证数据可以分布在不同Shard中,而Replica用于实现数据的复制,保证系统的可用性和容错性。 - Shard的Allocate控制:Shard的分配控制能够根据集群状态动态调整,...

    Elastic Stack 技术指南

    此外,还讲解了如何通过Elasticsearch的架构原理进行性能优化,包括shard的allocate控制、自动发现配置、增删改查操作、搜索请求、Painless脚本、reindex接口、segment、buffer和translog对实时性的影响,以及...

    elaticsearch.pdf

    总的来说,Elasticsearch是一个高效、灵活的搜索和分析平台,它充分利用了分布式架构的优势,提供实时、高可用的数据存储和检索解决方案,广泛应用于大数据环境中的信息检索、日志分析和实时监控等多个领域。

    kibana-guide-cn

    首先介绍其架构原理,包括segment、buffer和translog对实时性的影响,segment merge对写入性能的影响,routing和replica的读写过程,shard的allocate控制以及自动发现的配置。其次,介绍接口使用示例,包括增删改查...

    Elasticsearch分片本质与集群的故障转移

    分片简介 primary shard:主分片,提升系统存储容量,通过主分片将数据分布在所有节点上,主分片可以将一个索引的...分片是Elasticsearch中的最小工作单元,本质上是一个Lucene Index。在Lucene中,单个倒排索引文件被

    elk中文指南1

    《ELK中文指南1》是关于Logstash、Elasticsearch和Kibana(ELK stack)的入门教程,旨在帮助用户理解和使用这个强大的日志管理和分析工具。 **1. Logstash** Logstash是一款用于处理和收集事件及日志的工具。它的...

    ELKstack 中文指南

    ElasticSearch架构原理中还介绍了packetbeat网络流量分析、segment、buffer和translog对实时性的影响、segment merge对写入性能的影响、routing和replica的读写过程、shard的allocate控制、自动发现的配置接口、集群...

    ELK使用教程

    它负责收集日志文件和其他数据源的数据,并将这些数据进行格式化、过滤和转发到 Elasticsearch 进行存储和分析。 ##### 前言 Logstash 是一个强大的工具,能够帮助用户处理各种类型的日志数据。其灵活的架构和丰富...

Global site tag (gtag.js) - Google Analytics