开发者社区> 工程师甲> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Elasticsearch 结合大数据产品最佳实践

简介: 本文整理自阿里云解决方案架构师闫勖勉(三秋)在 阿里云Elasticsearch 自研引擎年度发布 的演讲。
+关注继续查看

摘要本文整理自阿里云解决方案架构师闫勖勉(三秋)在 阿里云Elasticsearch 自研引擎年度发布 的演讲。主要内容包括:

  1. Elasticsearch 与大数据
  2. 经典应用与案例分析


一、Elasticsearch 与大数据


1Elasticsearch 是什么?

Elasticsearch(简称 ES)是业内最主流的信息检索、分析引擎,DB-Engine指数排行“全球热度No.8数据库,全球热度No.1检索引擎”。

image.png


Elasticsearch 及配套产品,组合成 Elastic Stack 大数据平台,主要的四款核心产品是 Beats、Logstash、Elasticsearch 和 Kibana。

  • Beats:负责数据的采集和投递;
  • Logstash:负责数据传输以及ETL中间预处理;
  • Elasticsearch:负责数据的存储、计算、查询及分析;
  • Kibana:提供可视化管理以及报表和分析工具;


社区官方提供的三大解决方案分别是:Elastic企业搜索、Elastic全观测性和Elastic安全。同时,在云上还提供具有高性能的增强版内核版本。


2、Elasticsearch 解决什么问题

  • 数据库加速:主要解决数据库进行复杂查询时的性能瓶颈,使用 ES 作为数据库二级索引加速可以在提升查询速度的同时降低主库的压力避免产生线上业务风险;

  • 日志全观察:在 ELK 体系下通过 Kibana 同一平台同一时间轴分析应用系统出现问题,进行统一管控;

  • 数据分析:运用 ES 的结构化和非结构化查询能力作为查询引擎进行数据分析。


3、如何解决

ES 底层拥有强大的引擎能力:


  • 倒排索引:ES 支持基于 Lucene 的倒排索引,从而提供图文检索和查询能力,但随着业务发展,单一的倒排索引会使业务受限,如针对某个字段的排序或某个条件的聚合,倒排索引无法满足需求;

  • DocValue 存储:以列的形式保存除了 text 字段以外的其它字段,以实现查询、排序和聚合等能力;

  • BKD树:负责 INT 字段或数值类的范围查询,因为 BKD 树在范围查询方面有更好的能力承接;

  • 聚合框架和 FieldData:ES 提供的聚合框架支持基于 Bucket 做聚合,同时可以针对 text 类型进行 FieldData 处理,然后针对 text 类型进行聚合;

image.png

4、选型的优劣势

a. 优势:

  • 支持几乎所有数据类型的存储和索引,包括结构化和非结构化的查询;
  • 支持近实时的搜索和分析;
  • 原生分布式支持 PB 级及以上的拓展;
  • 查询灵活支持 DSL 多语言;


b. 劣势:

  • 多表关联有限:多表关联查询会出现数据冗余以及关联性弱的情况;
  • 非实时可见:如需要实时可见则会大大削弱写入性能;
  • 不支持事务:不适用于金融类、银行等对强事务性有需求的行业;


5、开源大数据支持

以上提到的 ES 的局限性,可以以架构的形式通过其他开源产品进行弥补,如 Fluentd、Flume、Kafka、实时计算Apache Flink、离线计算 Hadoop体系等,都与 ES 有很好的兼容性。


image.png


6、Elasticsearch 与实时计算结合

Flink 内置集成数十种连接器,覆盖数据库、消息队列、OLAP引擎等系统,自助编写 SQL 对数据进行实时流转集成。同时,在云上可使用 CDC(Change Data Capture)直读 MySQL Binlog,实现链路更短、成本更低、稳定性更高。


image.png


二、经典应用与案例分析

1、适用场景

Elasticsearch 应用场景及细分行业包括:

  • 在线教育:作业批改、学生/课程检索、教师管理系统等;
  • 游戏:社区论坛、标签系统、玩家指标分析等;
  • 互联网娱乐:内容搜索、推荐召回、付费行为分析等;
  • 产业互联网:地理位置搜索、企业信息检索、舆情分析等;
  • 交易类:商品搜索、订单检索、营销分析等;
  • 汽车及自动驾驶:综合搜索、路测/仿真平台标签、客户/商业/安全分析等;


同时,ES 还支持全行业的运维全观察,包括日志查询、指标监控和应用性能监控。

image.png


2、案例分析:IT 基础设施及微运维系统


a. 案例解读(软件负载、OT 监控、服务 SLA 监控、微服务监控)


  • 需求痛点

汽车行业的 IT 系统大多分批建设(蔚小理除外),技术架构及系统复杂有历史包袱,IDC、多云架构比较普遍。新兴的业务部门,一方面需要满足《网安法》的6个月日志存储合规要求,同时也希望对整体日志数据进行价值挖掘,通常有如下痛点(需求):


  • 务场景快速增加(汽车周边的应用微服务、充电桩等车基数据、会员服务/商城/社区等),日志量增速变快,硬件供给效率、资源冗余成本负担均成为挑战;

  • 数据来源多样,有多表关联查询和拼接需求;

  • 预期未来的日志数据规模超 PB 级(180天),底层技术架构需要兼备低成本存储、快速获取、按需检索和分析的能力;

  • 历史包袱重,新增的技术组件/产品,需要有快速对接原有云上/云下的 IT 系统的能力,并能保证技术架构的灵活、开放性,支持后续自由拓展;


基于以上需求,我们的解决方案是依托 ES/Flink 搭建日志平台以及部分应用查询系统。


  • 方案价值点
  • 极低迁移/改造成本:ES/Flink 是非常普及的技术架构方案,阿里云托管产品完全兼容开源,客户运维系统上云的迁移/改造成本极低,最快一周内完成系统上线;

  • 高稳定性:提供高可用架构部署,客户反馈生产上线三个月没有任何问题,相对于之前友商硬件上的自建 ES 服务,有非常大稳定性提升;

  • 性能优化:提供自研高性能内核和云端架构,将写入性能提高十倍(pk开源),同样的虚拟机配置可以满足之前硬件无法满足的性能需求,为未来业务增量接入提供保障;

  • 低存储成本:提供成本极低的分级存储引擎。例:OSS 中存储的1 PB 日志12.6W/月,每月多付3W元/月,日志即可获得秒级 模糊检索、聚合分析查询等能力(比自建 ELK 直接使用高效云盘便宜了20.9W/月);

b. 应用架构分析

如下图所示,整体架构包括:数据采集、数据汇集&传输、存储/索引/计算、可视化分析。


image.png

  • 数据采集:数据源来自于三个方向
  • 数据采集管理平台:采集车载数据(如 DCS/TSP)、路基数据(如充电桩);

  • 应用服务:以容器数据为主,还有服务后端和网关数据,基于Beats进行采集;

  • 数据库:RDS;

  • 数据汇集&传输:引入 Kafka 和 Flink 承接多个数据源数据
  • Kafka:日志链路使用 Kafka 进行汇集和缓冲,然后使用 Logstash 消费 Kafka 并完成日志传输,即在 Logstash 中进行简单的处理和过滤并输入 ES 集群;

  • Flink:如数据库中多个表组合查询需求会使用 Flink 读取数据库中 Binlog 进行实时更新,在 Flink 中将多个表进行组合生成一个表并输入到 ES 集群;


  • 存储/索引/计算:在阿里云 ES 中设置读写分离以及数据的冷热处理架构;

  • 可视化分析:

  • 日志数据:进行充电桩/路基设置使用分析、日志查询/分析,等,为运营及业务开发人员提供更有效的工具;

  • 热数据:为路测/车况数据查询以及社区搜索提供更好的支持;

C. 选型优势 – Elasticsearch

针对这个 PB 级别案例,选择云上 Elasticsearch 的优势在于:


  • 写入性能
  • 读写分离架构,避免资源抢占;
  • 高性能写入,写入流量最大200MB/s;
  • 写入计算资源成本降低60%;


  • 存储成本
  • 存储介质优化,相比高效云盘成本降低70%;
  • 按需付费,冷数据无须提前购买存储容量;
  • 冷数据存储无需副本,底层三副本机制保证数据安全;
  • 相较本地SATA盘查询性能提高100%;


image.png

d. 选型优势 - 实时计算Flink

  • 性能:两倍于开源版本;
  • 稳定性:先于社区修复相关引擎缺陷;
  • 企业级能力:CDC支持更多数据源、整库同步、表结构改变同步等。

image.png

END


阿里云 ES 团队积极参与社区建设,与 Elasticsearch 社区和国内团队紧密合作,基于 Elasticsearch 在云原生的实践,推出了包括开发者报告、Elasticsearch 全观测、技术解析等电子书,对 ES 感兴趣的朋友可以多多关注。同时,在 ES 社区也会有丰富的线上线下活动,欢迎大家参与。


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云Elasticsearch日志场景 最佳实践及引擎内核优化
分享人:郭嘉梁(梁楹),阿里巴巴技术专家
218 0
阿里云Elasticsearch日志场景最佳实践及引擎内核优化
本文整理自阿里巴巴技术专家郭嘉梁(梁楹)在 阿里云Elasticsearch 自研引擎年度发布 的演讲。
614 0
Elasticsearch最佳实践建议
本文主要是总结了Elasticsearch从安装、配置到应用程序使用、运维、性能优化的最佳实践的建议,希望能对于Elasticsearch的开发和运维提供一些帮助。
130 0
Elasticsearch全量数据增量遍历实现原理
0、需求 针对凤凰网财经版块的新闻数据和评论数据, 1个索引存储采集凤凰网财经版块的新闻数据;1个索引存储相关的财经数据评论结果。 统计: 1)某条新闻的评论数的多少? 2)某条评论属于哪条新闻? 3)当前已采集数据的所有评论、评论数汇总,按照评论数逆序排序,以便于图形化展示。
125 0
全新上线!阿里云数据库ACA认证盛大开启
随着云计算快速发展,传统的商业数据库已经难以满足和响应快速变化,持续增长的业务诉求。未来,越来越多的企业将会采用云数据库。 为此,阿里云大学全新上线数据库ACA培训认证,助力广大客户、合作伙伴、开发人员和DBA乘云而上!
540 0
PB级数据量背后阿里云 Elasticsearch 的内核优化实践
本文将揭秘阿里云在面对 PB 级数据量挑战下所做的内核优化实践。
4052 0
ElasticSearch数据备份与恢复
查看所有仓库:curl 192.168.40.x:9200/_snapshot/_all 默认为空,需要创建仓库,注意仓库需要共享文件系统。这时候可以选择使用: NFS HDFS ①.NFS(太麻烦,不推荐) 需要在elasticsearch.
4124 0
ElasticSearch大数据分布式弹性搜索引擎使用
阅读目录: 背景 安装 查找、下载rpm包 、执行rpm包安装 配置elasticsearch专属账户和组 设置elasticsearch文件所有者 切换到elasticsearch专属账户测试能否成功启动 安装自启动elasticsearch servicewrapper包 下载el...
1629 0
+关注
工程师甲
搜索与推荐工程技术团队、阿里云Elasticsearch技术团队;
215
文章
4
问答
来源圈子
更多
相关文档: Elasticsearch
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载