当前位置:首页 >时尚 >一次性带你搞明白面试必问题,谈谈你对ES的理解 一次性带你搞明白面试必问题

一次性带你搞明白面试必问题,谈谈你对ES的理解 一次性带你搞明白面试必问题

2024-06-30 17:38:48 [百科] 来源:避面尹邢网

一次性带你搞明白面试必问题,次性谈谈你对ES的搞的理理解

作者:Tom弹架构 开源 ES并不是万能,如果使用不恰当,明白面试也会带来一些性能瓶颈。必问不太建议使用复杂的题谈谈对关联查询,这对ES的次性性能影响非常大。

​有粉丝在评论区留言说,搞的理让我拍一期关于ES的明白面试视频。今天,必问我给大家分享一下我对ES的题谈谈对理解。

一次性带你搞明白面试必问题,谈谈你对ES的理解 一次性带你搞明白面试必问题

1、次性ES是搞的理什么

ES全称是Elastic Search,它是明白面试一个建立在全文搜索引擎库Lucene基础上的开源搜索和分析引擎。ES它本身具有分布式存储、必问检索速度快的题谈谈对特性。所以,我们经常会用它来实现全文检索的功能。

一次性带你搞明白面试必问题,谈谈你对ES的理解 一次性带你搞明白面试必问题

Elastic官网对ES的定义已经不再是ElasticSearch这一个组件,而是指Elastic Stack生态。

一次性带你搞明白面试必问题,谈谈你对ES的理解 一次性带你搞明白面试必问题

图片

而Elastic Stack主要包括ElasticSearch、Logstash、Kibana,这三个经典组合也称之为ELK。ElasticSearch主要用来做数据存储、Logstash主要用来做数据采集,Kibana主要用来做数据可视化展示。

图片

因为ES应用更广泛的场景还是ElasticSearch,所以,下面我们给大家分享的ES还是单指ElasticSearch。比如,网站搜索,日志聚集和检索,这些都可能会涉及到TB级别的数据场景,用ES是一个比较好的选择。

2、ES为什么这么快

ES之所以这么快,我认为主要有以下几个方面的原因:

图片

1、ES是基于Lucene开发的一个全文搜索引擎,一方面Lucene是擅长管理大量的索引数据;另外一方面,它会对数据进行分词以后再保存索引。这样,能够去提升数据的检索效率。

2、ES采用了倒排索引。所谓倒排索引就是通过属性值来确定数据记录位置的索引,从而避免全表扫描的问题。

3、ES存储数据采用了分片机制。

4、ES扩展性很好,支持通过水平扩展的方式来动态增加节点,从而提升ES的处理性能。能够支持上百台服务器节点的扩展,并且支持TB级别的结构化数据和非结构化数据。

5、ES内部提供的数据汇总和索引生命周期管理的功能,更加便于高效地存储和检索数据。

​3、ES应用指南

图片

当然,ES并不是万能,如果使用不恰当,也会带来一些性能瓶颈。不太建议使用复杂的关联查询,这对ES的性能影响非常大。

另外,还要避免深度分页查询。因为,ES的分页是通过from和size参数来实现,也就是说,在查询的时候,每个分片必须要先构造一个长度为from + size的优先队列,然后回传的网关节点。网关节点再对这些优先队列进行排序,再找到正确的size文档。而当from足够大的情况下,容易造成OOM以及网络传输性能下降的问题。

以上就是我对ES的理解。

责任编辑:姜华 来源: Tom弹架构 ES开源

(责任编辑:热点)

    推荐文章
    热点阅读