关注
Elasticsearch(ES)性能好的原因主要有以下几点:
一、分布式架构
1. 水平扩展:ES 可以轻松地通过增加节点来扩展存储容量和处理能力。当数据量增加或查询负载变大时,可以简单地添加更多的服务器节点,系统会自动平衡数据和查询负载,确保性能不会因为数据增长而下降。
2. 数据分片与副本:数据被分成多个分片存储在不同的节点上,每个分片可以独立处理查询请求,从而提高查询的并行度。同时,副本的存在不仅提高了数据的可靠性,还可以在主分片出现故障时自动切换到副本分片,保证系统的可用性,并且副本分片也可以用于分担查询负载。
二、高效的数据存储和索引结构
1. 倒排索引:ES 使用倒排索引来快速定位包含特定关键词的文档。倒排索引将每个词与包含该词的文档列表关联起来,这样在进行关键词搜索时,可以快速找到相关的文档,而不需要遍历整个文档集合。
2. 基于 Lucene 的存储引擎:ES 底层基于 Lucene 库,Lucene 提供了高效的索引和查询算法。它对数据进行压缩存储,减少磁盘空间占用,同时在查询时能够快速解压和检索数据。
三、缓存机制
1. 文件系统缓存:ES 充分利用操作系统的文件系统缓存来提高数据的读取速度。经常访问的数据会被缓存在内存中,下次访问时可以直接从内存中获取,大大减少了磁盘 I/O 操作,从而提高性能。
2. 查询缓存:ES 可以缓存查询结果,对于重复的查询请求,可以直接返回缓存中的结果,而不需要再次执行查询操作。
四、优化的查询执行策略
1. 分布式查询执行:查询请求被分发到各个相关的节点上并行执行,然后将结果汇总返回给客户端。这种分布式查询执行方式可以充分利用集群的计算资源,提高查询的速度。
2. 近似聚合:对于一些聚合查询,ES 可以使用近似算法来快速返回近似结果,而不需要进行精确计算。这种方式在处理大规模数据时可以大大提高聚合查询的性能。
五、实时性支持
1. 近实时搜索:ES 能够在数据写入后很短的时间内(通常是 1 秒以内)就可以对其进行搜索。这是通过定期刷新索引和使用 translog 来保证的,新写入的数据会先写入 translog,然后在刷新时被纳入可搜索的索引中。
2. 实时更新:ES 支持对索引的实时更新,即可以在不中断搜索服务的情况下对数据进行添加、修改和删除操作。
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
2025-12-17 12:08
门头沟学院 产品经理
牛客85811352...:1希音不知道算不算大厂
2完全符合,过得很舒服,
3确实只有杂活 点赞 评论 收藏
分享
牛客热帖
更多
- 1... 你会和mentor进行deeptalk吗?2375
- 2... 双非本2025秋招总结:65w+SSP三选一,最终还是“有鹅选鹅”|附面试心路历程1900
- 3... 金丹后期牛友!我们新年再见1663
- 4... 希望新的一年,我依然是走向幸福的那个人1231
- 5... 牛客运营们,我保证这是我最后一次消费烤肠了!1231
- 6... 学院本 末 211 硕勇闯 java 后端实习美团 oc 逆袭指南1095
- 7... 27届学院本一段中厂一段中大厂实习,简历求锐评735
- 8... 元旦前被裁员了665
- 9... 27前端已没招662
- 10... 脑抽给面试官唱了一首英文歌620
正在热议
更多
# 对2025年忏悔 #
6372次浏览 118人参与
# 互联网行业现在还值得去吗 #
48058次浏览 356人参与
# 实习没人带,苟住还是跑路? #
14772次浏览 290人参与
# 春招前还要继续实习吗? #
7426次浏览 89人参与
# 一人说一家双休的公司 #
9248次浏览 111人参与
# 移动求职进展汇总 #
18828次浏览 149人参与
# 你找工作的时候用AI吗? #
166114次浏览 865人参与
# 国企秋招,你投了吗? #
55368次浏览 364人参与
# 元旦假期你打算怎么过 #
9677次浏览 187人参与
# 工作前VS工作后,你的心态变化 #
31680次浏览 249人参与
# 面试官问过你最刁钻的问题是什么? #
11929次浏览 112人参与
# 职场新人生存指南 #
491812次浏览 9517人参与
# 大家实习都在做什么? #
9559次浏览 102人参与
# 我的AI电子员工 #
24483次浏览 155人参与
# 我们是不是被“优绩主义”绑架了? #
10145次浏览 308人参与
# OPPO求职进展汇总 #
758829次浏览 5392人参与
# 你觉得专业和学校哪个对薪资影响最大 #
87858次浏览 587人参与
# 华为工作体验 #
279114次浏览 1360人参与
# 通信/硬件公司求职体验 #
184446次浏览 1032人参与
# 通信硬件薪资爆料 #
1188907次浏览 7185人参与
