分布式专题——43 ElasticSearch概述
1 ElasticSearch 定义
- ElasticSearch(简称ES)是一个开源的分布式搜索和数据分析引擎,由Java开发,是当前最流行的开源企业级搜索引擎,能够达到近实时搜索,专门设计用于处理大规模的文本数据和实现高性能的全文检索。
2 ElasticSearch 的优势
-
搜索引擎的排名:DB-Engines Ranking - popularity ranking of database management systems
最近的排名:
-
核心优势:
-
分布式架构:采用分布式架构,可轻松处理大规模数据,支持水平扩展,提升系统的可扩展性和容错性。
-
全文检索功能:提供强大的全文检索能力,能对文本数据高效搜索和分析,支持复杂查询语法与自定义分析器。
-
多语言支持:支持多种语言的数据处理和检索,满足不同语言环境的搜索需求。
-
高性能:采用倒排索引等优化技术,实现高效的搜索和数据处理性能,满足大规模数据的实时查询需求。
-
实时性:提供近乎实时的搜索和分析功能,确保用户及时获取最新数据和信息。
-
易用性:提供丰富的API和插件,开发者可轻松集成使用;查询语法简洁明了,易于上手。
-
-
官方网站:Elastic — The Search AI Company | Elastic;
-
下载地址:elastic.co/cn/downloads/past-releases#elasticsearch。
3 Elastic Stack 生态介绍
-
Elastic Stack由Logstash、Beats、Elasticsearch和Kibana四大核心产品组成,在数据采集、存储、分析及数据可视化方面具备显著优势;
-
Elasticsearch:作为Elastic Stack的基石,它是高度可扩展的开源全文搜索与分析引擎。采用分布式架构,提供近乎实时的数据搜索、分析和可视化能力;凭借强大的索引和查询功能,可处理PB级数据量,支持复杂数据分析与挖掘需求,是构建现代数据驱动应用的理想选择;
-
Logstash:是灵活的服务器端数据处理管道,能从多个源采集数据、转换数据并发送到指定目的地。支持丰富的插件生态系统,使数据收集、解析和转换高效且易配置。在Elastic Stack中承担数据预处理和传输的关键角色,确保数据以正确格式和结构进入Elasticsearch,为后续分析和可视化奠定基础;
-
Beats:是轻量级的数据采集器家族,专为向Logstash、Elasticsearch或Kafka等发送数据而设计。每个Beat是独立运行的守护进程,用于从系统或应用程序中收集数据并转发。其家族包含多个成员:
-
Filebeat:用于文件日志采集;
- Metricbeat:用于系统和应用性能指标采集;
- Heartbeat:用于监控服务可用性;
- 它们共同构成强大的边缘数据采集网络,覆盖广泛的监控和日志收集需求;
-
Kibana:是Elastic Stack的可视化和管理界面,为Elasticsearch数据提供强大的可视化功能。用户可通过它轻松创建仪表板、图表和地图,直观展示数据;还提供交互式查询和过滤功能,助力用户深入挖掘数据、发现隐藏趋势和模式。作为用户界面,它让数据分析更直观、便捷和高效;
-
-
从架构流程看,Beats和Logstash负责数据采集、清洗,Elasticsearch承担数据存储、查询,Kibana实现数据可视化,四者整合形成从数据收集、处理、存储到分析和可视化的一体化解决方案,简化数据处理复杂性,提升数据处理效率和准确性,是现代数据分析和监控领域的重要工具;
4 ElasticSearch 应用场景
-
只要用到搜索的场景,Elasticsearch几乎都可以是最好的选择。结合Kibana、Logstash、Beats,ElasticSearch可用于全文检索、日志分析、商业智能场景;
-
全文检索:
-
支持各类应用、网站的全文搜索,例如淘宝、京东等电商平台搜索,360手机助手、豌豆荚等应用市场平台搜索,以及腾讯文档、石墨文档等平台的全文检索服务;
-
支持用户通过自定义打分、自定义排序、高亮等机制召回期望的结果数据,通过跨机房/跨机架感知、异地容灾等策略,提供高可用、高并发、低延时、用户体验好的搜索服务;
-
众多知名企业如阿里巴巴、腾讯、携程、滴滴出行、美团、字节跳动、贝壳找房等,将其作为关键技术提升用户体验、满足业务需求;
-
技术上基于倒排索引(如下图中“apple”对应文档ID 3、4、5等),支持用户执行复杂查询并获得近实时响应,结合Kibana可实现可视化分析;
-
-
日志分析:
-
支持的日志类型:
- 业务日志:用户行为日志、应用日志等;
- 状态日志:慢查询、异常探测等;
- 系统日志:Debug、Info、WARN、ERROR、FATAL等不同等级的日志;
-
基于倒排索引技术,能实现高效灵活的搜索分析功能,从日志产生到生成倒排索引并写入Elasticsearch,再到用户访问信息,整个过程仅需秒级,可快速处理和检索大量数据,满足实时搜索分析需求;
-
58集团、唯品会、日志易、国投瑞银等知名企业用其快速分析处理大量日志数据,实现业务运行状况的实时监控和故障排查;
-
-
商业智能场景:
-
面对电子商务、移动App开发、广告媒体等领域的大型业务数据收集和分析挑战,Elasticsearch凭借结构化查询功能,可实现全文数据检索和聚合分析,助力企业对大数据进行高效且个性化的分析,进而发现问题、辅助业务决策、挖掘商业价值;
-
睿思BI、百度数据可视化Sugar BI、永洪BI等商业智能系统,借助其高效、实时的数据分析和可视化能力,帮助企业理解市场趋势、优化决策过程。
-