偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

一次性帶你搞明白面試必問(wèn)題,談?wù)勀銓?duì)ES的理解

開(kāi)源
ES并不是萬(wàn)能,如果使用不恰當(dāng),也會(huì)帶來(lái)一些性能瓶頸。不太建議使用復(fù)雜的關(guān)聯(lián)查詢,這對(duì)ES的性能影響非常大。

?有粉絲在評(píng)論區(qū)留言說(shuō),讓我拍一期關(guān)于ES的視頻。今天,我給大家分享一下我對(duì)ES的理解。

1、ES是什么

ES全稱是Elastic Search,它是一個(gè)建立在全文搜索引擎庫(kù)Lucene基礎(chǔ)上的開(kāi)源搜索和分析引擎。ES它本身具有分布式存儲(chǔ)、檢索速度快的特性。所以,我們經(jīng)常會(huì)用它來(lái)實(shí)現(xiàn)全文檢索的功能。

Elastic官網(wǎng)對(duì)ES的定義已經(jīng)不再是ElasticSearch這一個(gè)組件,而是指Elastic Stack生態(tài)。

圖片

而Elastic Stack主要包括ElasticSearch、Logstash、Kibana,這三個(gè)經(jīng)典組合也稱之為ELK。ElasticSearch主要用來(lái)做數(shù)據(jù)存儲(chǔ)、Logstash主要用來(lái)做數(shù)據(jù)采集,Kibana主要用來(lái)做數(shù)據(jù)可視化展示。

圖片

因?yàn)镋S應(yīng)用更廣泛的場(chǎng)景還是ElasticSearch,所以,下面我們給大家分享的ES還是單指ElasticSearch。比如,網(wǎng)站搜索,日志聚集和檢索,這些都可能會(huì)涉及到TB級(jí)別的數(shù)據(jù)場(chǎng)景,用ES是一個(gè)比較好的選擇。

2、ES為什么這么快

ES之所以這么快,我認(rèn)為主要有以下幾個(gè)方面的原因:

圖片

1、ES是基于Lucene開(kāi)發(fā)的一個(gè)全文搜索引擎,一方面Lucene是擅長(zhǎng)管理大量的索引數(shù)據(jù);另外一方面,它會(huì)對(duì)數(shù)據(jù)進(jìn)行分詞以后再保存索引。這樣,能夠去提升數(shù)據(jù)的檢索效率。

2、ES采用了倒排索引。所謂倒排索引就是通過(guò)屬性值來(lái)確定數(shù)據(jù)記錄位置的索引,從而避免全表掃描的問(wèn)題。

3、ES存儲(chǔ)數(shù)據(jù)采用了分片機(jī)制。

4、ES擴(kuò)展性很好,支持通過(guò)水平擴(kuò)展的方式來(lái)動(dòng)態(tài)增加節(jié)點(diǎn),從而提升ES的處理性能。能夠支持上百臺(tái)服務(wù)器節(jié)點(diǎn)的擴(kuò)展,并且支持TB級(jí)別的結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)。

5、ES內(nèi)部提供的數(shù)據(jù)匯總和索引生命周期管理的功能,更加便于高效地存儲(chǔ)和檢索數(shù)據(jù)。

?3、ES應(yīng)用指南

圖片

當(dāng)然,ES并不是萬(wàn)能,如果使用不恰當(dāng),也會(huì)帶來(lái)一些性能瓶頸。不太建議使用復(fù)雜的關(guān)聯(lián)查詢,這對(duì)ES的性能影響非常大。

另外,還要避免深度分頁(yè)查詢。因?yàn)椋珽S的分頁(yè)是通過(guò)from和size參數(shù)來(lái)實(shí)現(xiàn),也就是說(shuō),在查詢的時(shí)候,每個(gè)分片必須要先構(gòu)造一個(gè)長(zhǎng)度為from + size的優(yōu)先隊(duì)列,然后回傳的網(wǎng)關(guān)節(jié)點(diǎn)。網(wǎng)關(guān)節(jié)點(diǎn)再對(duì)這些優(yōu)先隊(duì)列進(jìn)行排序,再找到正確的size文檔。而當(dāng)from足夠大的情況下,容易造成OOM以及網(wǎng)絡(luò)傳輸性能下降的問(wèn)題。

以上就是我對(duì)ES的理解。

責(zé)任編輯:姜華 來(lái)源: Tom彈架構(gòu)
相關(guān)推薦

2019-08-06 09:21:45

2021-12-20 10:39:30

TopK排序代碼

2022-03-21 09:05:18

volatileCPUJava

2025-03-21 00:00:05

Reactor設(shè)計(jì)模式I/O 機(jī)制

2024-10-24 16:14:43

數(shù)據(jù)傳輸CPU零拷貝

2023-11-28 12:25:02

多線程安全

2022-06-30 09:10:33

NoSQLHBaseRedis

2025-02-21 15:25:54

虛擬線程輕量級(jí)

2024-09-27 15:43:52

零拷貝DMAIO

2024-02-28 08:18:13

Java日志項(xiàng)目

2024-08-27 12:36:33

2018-11-01 14:30:09

Redis數(shù)據(jù)庫(kù)面試題

2014-08-04 14:38:25

LinuxToken

2013-04-17 09:16:37

2024-09-26 16:01:52

2024-08-26 14:52:58

JavaScript循環(huán)機(jī)制

2025-03-07 00:11:00

JWTJSONSession

2020-07-08 15:30:29

Java面試題代碼

2019-07-26 06:42:28

PG架構(gòu)數(shù)據(jù)庫(kù)

2024-10-12 16:25:12

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)