自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

一次性帶你搞明白面試必問題,談?wù)勀銓S的理解

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

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

1、ES是什么

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

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

圖片

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

圖片

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

2、ES為什么這么快

ES之所以這么快,我認為主要有以下幾個方面的原因:

圖片

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

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

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

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

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

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

圖片

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

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

以上就是我對ES的理解。

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

2019-08-06 09:21:45

2021-12-20 10:39:30

TopK排序代碼

2024-02-28 08:18:13

Java日志項目

2025-03-21 00:00:05

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

2024-10-24 16:14:43

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

2022-03-21 09:05:18

volatileCPUJava

2025-02-21 15:25:54

虛擬線程輕量級

2024-09-27 15:43:52

零拷貝DMAIO

2022-06-30 09:10:33

NoSQLHBaseRedis

2023-11-28 12:25:02

多線程安全

2018-11-01 14:30:09

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

2024-08-27 12:36:33

2014-08-04 14:38:25

LinuxToken

2013-04-17 09:16:37

2020-07-08 15:30:29

Java面試題代碼

2022-11-24 17:34:04

TCC分布式

2025-03-07 00:11:00

JWTJSONSession

2024-09-26 16:01:52

2024-08-26 14:52:58

JavaScript循環(huán)機制

2024-06-13 08:01:19

點贊
收藏

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