Elasticsearch 场景化检索及全观测运维介绍

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 基于Elasticsearch场景化检索及全观测运维解决方案的介绍,内容包括Elasticsearch产品介绍,电商零售分析检索能力与解决方案,以及在线教育全观测运维监控能力与解决方案。
本课程讲师 : 沐泽 — 阿里巴巴 Elasticsearch 产品经理
如果你想收看完整视频,请点击 《飞天大数据产品价值解读 — 全文检索引擎 Elasticsearch》

一、关于 Elasticsearch

Elasticsearch是一个开源的信息检索、分析引擎,它能够支持全文检索,结构化搜索和数据分析。Elasticsearch在业内是非常主流和热门的一个搜索引擎,在整个DB-Engine热门指数排行上面是全球热度第七的数据库,在检索方面更是全球热度第一的检索引擎。它应用的场景,如下图所示,包括各类信息查询,比如订单查询,以及地理位置查询,以及日志数据的检索和分析,数据分析和可视化。

image.png

整个Elastic Stack开源产品生态矩阵包括Beats、Logstash、Elasticsearch和Kibana这几部分,也是大家通常所知道的ELK,各个部分的能力概括如下图所示。整个这样的一套开源技术产品在开源领域,已经有很多开发者都会在自己的业务中使用。而这些都在阿里云上提供开箱即用的全托管的云服务。

image.png

阿里云Elasticsearch提供全托管Elastic Stack服务,100%兼容开源,免费提供XPack商业插件,即开即用,按需付费。同时深入功能与内核性能优化,提供更丰富的分析检索能力,更安全、高可用服务。

整体优势体现在两个方面。

第一,低成本。阿里云Elasticsearch不仅免费提供每个节点价值6000美元的X-Pack商业插件。还通过智能运维、高级监控告警、容灾部署等,为用户降低大规模集群的运维成本。同时,针对性场景调优,提高资源利用效率。

第二,具备更强劲的功能与性能。阿里云Elasticsearch基于开源内核引擎研发了日志增强版内核,带来日志场景的100%成本降低,以及100%性能提升。同时也通过向量检索插件、阿里云SQL插件,不断完善整体在文本、视频、音频、图像,各方面的信息检索能力。

另外,与开源相比,阿里云Elasticsearch通过各种企业级数据安全能力,全面对齐等保2.0要求,也提供开放的二次开发能力,支持各种业务场景的封装。通过这些构成了阿里云Elasticsearch端到端分析检索架构,包含数据采集层,数据加工层,数据引擎层,应用层。目前,阿里云Elasticsearch已经为教育、零售、金融、游戏等然30多个行业的几千家客户提供云上稳定、高性能服务。在区域部署上面,阿里云Elasticsearch服务已经覆盖阿里云全球20个数据中心,同时也能够支持本地化的专有云以及混合云的交付模式。

image.png

二、电商零售分析检索能力与解决方案

下面我们会基于一些场景上的实际的案例,包括一些架构,对Elasticsearch在实际的功能和能力上做更详细的讲解。

电商零售——电商业务搜索。

电商场景存在海量的商品数据、订单数据,在售前和售后阶段,均 对数据的精准搜索有需求,在售前阶段帮 助用户快速找到意向商品和相关服务;在 售后阶段帮助用户找到历史订单信息,例如帮助卖家根据手写退换单中的模糊信息快速 找到并处理售后订单。

综合数据分析

交易及零售行业在线上线 下均有大量的数据产生,例如业务系统日志、交易数据、POS机数据、用户信息、 用户在门店或线上的行为数据、智能设备 数据等,需要对数据做多渠道收集、存储并分析。

场景痛点有三点;

1、流量波动,集群缺弹性:电商零售行业周 期性的流量波峰波谷(周末、大促),集群 需要适应性的伸缩,直面供应链成本冗余 或者不足的问题,以及频繁变更集群的运 维成本问题高;

2、搜索质量要求:搜索作为电商零售场景核 心流量入口,搜索准确率直接影响用户体 验和成交转化,基础开源分词器无法满足 高质量搜索需求;

3、高稳定性要求,成本高:电商零售行业在流量高峰时,需要同时承载大量的查询和 写入压力,对系统的可用性、稳定性保障 要求极高。

与之对应的,Elasticsearch提供了适用于此类检索场景的各种产品能力。

1、体系化产品能力:云上数据及服务高 可用、集群一键升降配、数据存储加 密和安全管控、MS级的数据时效性。

2、多云灾备:多云灾备解决方案。

3、成本优化:通过场景调优、产品组合和价格策略,TCO下降50%以上。

4、专家级服务:提供专家级支撑能力, 输出基于客户场景的解决方案、架构优化、疑难问题解决。

5、全链路支持:云上ELK全产品支持,提供从数据采集、传输、处理、可视化的一站式服务。

image.png

下面我们从电商零售行业的订单检索出发,来看下检索方面客户的技术和业务有什么问题。

在电商、零售行业,交易订单作为整个系统的“纽带”贯穿了整个系统的关键流程,承载着所有购买信息与支付信息。

随着电商新零售业务规模日益扩大,对各电商/服务商的系统带来了新的挑战。以双11大促为例,主要会面临以下几个问题。

1、日订单数据800w+,高流量、高并发系统压力大。关系型数据库面对超大数据量具有天然的性能瓶颈,如果底层数据库直接承载业务端查询压力,可能发生影响业务稳定性的问题。

2、30+订单字段,高维度聚合/条件/模糊查询效率低。传统DB不满足灵活的字段组合查询,Like性能差。业务的查询情况多样、查询条件复杂,对实时性要求高。

3、业务波动大,系统不能灵活扩缩,运维难度高。大促带来的峰谷波动,面临供应链资源不足或冗余。频繁变更底层系统的人力运维成本高,缺乏支撑和保障。

image.png

在查询检索的性能提升这一块,可以看到,传统关系型数据库有很大的局限性,Elasticsearch 是如何与 DB 能力互补呢?

Elasticsearch 基于 Lucene 核心库构建,以倒排索引算法为基础,默认为所有字段创建索引。数据模型采用 Free Scheme 模式, JSON 主体,字段灵活添加,字段层级位置灵活设置。可以应付超大的数据量查询,在单索引数据量十亿级也可以在亚秒内响应查询。任意索引字段可组合使用,且查询效率相当高。多表关联查询可通过反范式的关联能力,将多个业务表数据合并到一个索引中。天然分布式设计,副本与分片机制使得集群具备弹性扩展能力。总的来说,关系型数据库比较全能,其分库分表的机制可以很好的保障数据不丢失、不覆盖,但是面对大规模的复杂查询检索,会有一定的局限性。Elasticsearch 更为专注于提供灵活高效的查询能力,将Elasticsearch 作为数据库二级索引组合使用,可以很好的应对数据几何倍数增长、查询条件动态变化的检索业务场景,实现数据库查询加速。

image.png

下面来看一个电商订单检索案例,是如何使用阿里云Elasticsearch实现订单检索,搭建日志分析平台。

案例—爱用科技

爱用科技立足于电子商务行业,是基于淘宝服务平台的最早一批应用软件与信息技术服务提供商之一。 专注为淘宝电商商家提供包含订单处理、商品管理、分销供应、数据分析、营销打折等功能的软件产品。 现已服务于400万淘宝商家,使用阿里云Elasticsearch搭建订单检索服务和日志分析平台。

在订单检索场景,爱用不仅为超过 40W 商家用户提供稳定安全的订单管理服务,并承诺 1~5 秒内可实 现所有订单查询和处理。同时,这样的一套订单系统可以支持卖家用户从接单、订单管理、打印发货、物流跟踪、到评价管理, 实现全流程管理覆盖,帮助卖家用户高效、实时管理订单动态。另外,在实际的检索能力上,可以支持通过订单号、买家昵称、关键词、收件人姓名、手机号、收货地 址、交易时间、卖家备注、卖家留言等 20+ 订单信息字段,进行各类高级查询、筛选和排序。总的来说,实现了超快的订单加载速度,筛单秒出结果。

image.png

业务痛点

1、峰值并发查询压力大,延迟高体验不好,严重影响稳定性,无法达到为用户承诺的查询时效性。

2、订单字段复杂,商家用户的查询维度多,和模糊搜索意图强,原先的Postgresql数据库方案无法实现满意的查询效果和性能。

3、双十一、618等购物节业务压力暴涨,难以快速扩容。第作为服务商,将所有客户的数据集中存储索引管理,

4、数据可用性、安全、权限粒度更要求高,数据敏感影响巨大面对这些问题。

Elasticsearch 能力

1、PB级数据准实时搜索引擎,查询结果毫秒级返阿里云Elasticsearch研发了回;索引限流插用以件,保障系 统高稳定性。

2、支持多种数据结构的复杂查询,及字段的全文匹配和模糊匹配,同时集成 阿里达摩院NLP分词器等多种分词插件,性能效果双保障。

3、集群一键平滑扩缩容,变更对业务0影响,灵活应对流量峰谷。

4、数据自动备份、多种安全认证、字段级别权限管最终这块,爱用科技基于MySQL+Elasticsearch组合方案了整体实现订单查询。 不仅提升了近一倍的IOPS性能,也同时降低了50%的资源成本。

image.png

阿里云 Elasticisearch 在其他的场景应用也有很多案例能力的沉淀。

阿里云 Elasticsearch 向量检索能力,被广泛应用在以图搜图,智能客服这些场景。

随着AI技术的不断普及,电商场景中针对向量检索的需求量在逐步提升。从以图搜图、人脸识别、音视频识别到商品智能推荐等场景,技术上都离不开向量检索的能力支撑。
阿里云Elasticsearch向量检索插件,基于达摩院 Proxima 向量引擎库,对向量检索 的一些基础能力,如聚类、距离计算、高并发、Cache 等做了深层次的优化。

Elasticsearch 整套 ELK 分析可视化方案,被广泛应用于智慧门店场景下的业务分析场景。

对于很多新零售商家诸如海底捞,线下门店分布广,业务体量大,迫切的需要”智慧门店”解决方案,实现会员、订单、商品等多渠道业务数据的集中管理和实时搜索,用于移动端综合搜索和内部管理、运营系统的业务指标分析。基于阿里云 Elastic Stack 端到端的产品能力,可以很好的实现门店数据、用户数据、交易数据、客流数据等全渠道收集,并进行数据聚合与实时数据分析,结合 Kibana、 QuickBI 和 DataV 打造业务数据可视化监控看板, 搭建数据应用分析、可视化和搜索服务,并支持报表联动权限管控,从而一站式的搭建出整套智慧门店解决方案。

image.png

电商零售业务分析应用的架构,分为四个部分,分别是数据源 & 采集,数据传输、流式数据存储,数据ETL,数据存储 & 分析。

image.png

三、在线教育全观测运维监控能力与解决方案

接下来,我们会从在线教育这个行业进行介绍。总体来说,先来看三大应用场景。

1、1对1、1对多、1对N的在线直播团队:学 员或老师在直播的过程中,会产生很多行 为动作,如进入直播间,退出直播间,举手、上讲台、涂鸦、加载课件等,如果动 作无响应,对于用户体验就很差,需要基 于日志的数据可视化,来帮助测试或研发 监控、复现和定位问题;

2、全链路应用性能监控团队:终端用户(学 生&老师)、客户(独立培训机构 或者 内部 课程部门)、平台方(平台运维部分),涉及 的问题层层传递,需要保证性能监控的时 效性;

3、试题、教案教义搜索团队:试题的标签个 数在录入时是不确定的,需要底层的搜索 /检索系统可以支持灵活的标签录入机制。

在这些场景下,往往有着共同的痛点问题。

1、流量波动,集群缺弹性:教育行业周期性 的流量波峰波谷(周末、寒暑假),集群需 要适应性的伸缩,直面供应链成本冗余或 者不足的问题,以及频繁变更集群的运维 成本问题高;

2、链路冗长,问题难定位:数据链路端到端 流程太长,一旦异常定位问题成本很高;

3、高稳定性要求,成本高:教育行业不仅仅 向客户暴露业务系统,日志系统也会面向 用户使用(如监课),全链路的稳定保障 要求极高;

4、搜索高要求:不仅仅是全文检索,基于标 签的本文、甚至是非文本检索需求导致搜索复杂。

阿里云Elasticsearch产品在这样的场景和痛点下,具备以下能力。

1、体系化产品能力:云上数据及服务高可用、 数据存储加密和安全管控、MS级的数据 时效性、全链路数据加快S级反馈;

2、数据时效性:MS级的数据时效性,全链路数据监控S级反馈;

3、多云灾备:多云灾备解决方案;

4、TCO成本优化:通过场景调优、产品组合 和价格策略,可以让客户TCO下降50%以 上;

5、专家级服务:提供专家级支撑能力,输出基于客户场景的解决方案、架构优化、疑难问题解决。

image.png

下面我们从在线教育的一些典型客户使用方面来做一些深入的分析。

案例—好未来

好未来(前身“学而思”)是一个以智慧教育和开放平台为主体,以素质教育和课外辅导为载体,在全球范围内服务公办教育,助力民 办教育,探索未来教育新模式的科技教育公司。

好未来旗下直播云平台,为各类教育培训机构输出包括在线教室和双师课堂在内的全场 景教育直播产品及服务体系。好未来直播云支撑线上百万人线上课堂, 并承诺不卡顿,支持师生互动;提供从视频的采集、转码、发送、SDRTN、接受、解码、播放/渲染全链路的服 务,系统需要提供99.9%传输成功率;提供500ms 低延迟、高清画质,全球范围 直播授课及同步监管能力,7*24小时线上 支持保障;自建ES的全链路质量监控,QoE、QoS等 质量实时监控。

image.png

面对这样高性能、稳定性要求的直播系统,好未来的直播链路面临着巨大的挑战。

1、监控指标来源多,实时性保障困难。而阿里云Elasticsearch具备丰富异构数据源采集能力,能够覆盖主流DB和日志系统并支持模版化的日志解析处理能力。

2、数据权限粒度要求高。为保障终端用户的使用体验,直播平台方需要赋能客户数据监控和分析能力,需要提供读数据权限;无法满足每个客户一个集群的需求,需要对一个大池子中的数据进行细粒度的数据权限分割。面对这样高要求的数据权限问题,阿里云Elasticsearch本身可以提供精确到字段级别的数据权限分割能力,并基于RBAC模型支持用户灵活自定义权限体系;支持与企业自有权限体系对接打通关。

3、在线教育的流量波动大,自建集群投入成本高。教育行业寒暑假业务流量激增,学期内流量平稳,机器资源闲置浪费;峰值流量集群压力大,集群容灾和稳定性差。云上Elasticsearch托管很好的提供了集群平滑的伸缩能力,同时集群热变更,对服务0影响。

image.png

在此之中,集群平滑扩缩容作为在线教育核心诉求。阿里云Elasticsearch通过性能优化不仅达到了毫秒级别的数据时效性,并且支撑数百个企业级客户权限分配管理。当遇到流量激增,整体监控及日志平台可以平滑扩容,而峰/谷集群也可以通过弹性伸缩功能灵活配置,节约100%成本。和客户自建服务效果对比,体现了降本增效的核心优势。直播场景下,好未来整体日志及监控平台数据流程示意图如下图所示。

image.png

在这个方案背后,依托的就是 ELK 的全观测能力实现监控运维分析。

运维系统的成熟度主要根据,所收集数据的丰富度、数据处理的结构化能力、以及数据分析层的复杂程度所决定。而 Elastic Stack 能够充分利用分散在系统各层的数据,更好的发挥数据价值。

全观测能力,不仅关注的是基础的日志和指标数据,更能收集到用户行为金控、交易性能监控、分布式追踪等 APM 数据,通过对采集后的数据进行汇聚处理,进行数据存储搜索,以及可视化监控告警。而随着告警能力的完善,数据的分析也不仅仅依托于简单的规则和指标异常告警,Elasticsearch 本身能够提供高级的机器学习和关联分析,实现对问题全链路的追踪。

image.png

从而最终实现了日志、指标、APM 数据在一个平台统一分析。如下图所示,不仅建立了统一的可视化视图、对齐时间、过滤条件;除了统一的基于规则的监控和告警;还有统一的机器学习的智能监控和告警。

image.png

当业务发生一些故障,Elasticsearch 会有一个机器学习的模块,通过你的历史的情况去智能的推测,比如说,这个时候的指标大概会在什么样的范围内。当你的指标没有在之后,就会判断这是一个异常的情况。在机器学习页面,就会给你这样一个告警详情。然后你就能够跳转到相应的,包括 API 那些页面,仪表盘,指标去进行后续的诊断故障。

image.png

机器学习页面详细分析告警,包括各种机器学习任务告警对齐;机器学习根据API响应时间的历史情况自动建模,当监控值超过动态阈值就触发告警, 并且可以指出是哪个 API 性能下降;可以从故障点处跳转到 APM、仪表板、指标、Uptime 等其他应用来诊断这个故障。

image.png


APM 性能分析,包括总体性能统计概览,中央时间点对应故障时间点;根据各个API性能影响的情况排序,影响最大的排最前面。

image.png


APM查看分布式调用有如下几块。第一,服务响应时间分布情况。第二,汇总分布式环境下的多种服务。第三,查看分布式环境下服务间的调用关系和单个应用内部的调用情况。

image.png

仪表板综合分析包括:服务总体响应时间分析,分服务的响应时间对比,把服务分为各个实例性能热点分析。

image.png

查看指标分析这一块,包括可观察主机、K8s、docker 的指标数据,时间对齐告警发生时刻。它可以按照每一个 Pod 查看性能消耗,可以查看每个 Pod 的日志、指标、APM、Uptime 数据。并且,打通指标和指标、APM。

image.png

分析日志定位原因如下图所示,包括时间对齐告警发生时刻,自动定位到单个 Pod 可以自由输入条件过滤日志流,可以看到8点这个时刻 MySQL 有大表 连接,大量的行扫描。

image.png


总体概括来说,阿里云 Elasticsearch 在各个业务场景下,从整体成本,集群管控、检索能力、安全性和可用性等各个方面,对比自建集群均带来了全方位的能力与性能优化,如下图所示。

image.png


image.png

阿里云Elastic Stack】100%兼容开源ES,独有9大能力,提供免费X-pack服务(单节点价值$6000)

相关活动


更多折扣活动,请访问阿里云 Elasticsearch 官网

阿里云 Elasticsearch 商业通用版,1核2G ,SSD 20G首月免费
阿里云 Logstash 2核4G首月免费


image.png

image.png

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
4月前
|
SQL JSON 大数据
ElasticSearch的简单介绍与使用【进阶检索】 实时搜索 | 分布式搜索 | 全文搜索 | 大数据处理 | 搜索过滤 | 搜索排序
这篇文章是Elasticsearch的进阶使用指南,涵盖了Search API的两种检索方式、Query DSL的基本语法和多种查询示例,包括全文检索、短语匹配、多字段匹配、复合查询、结果过滤、聚合操作以及Mapping的概念和操作,还讨论了Elasticsearch 7.x和8.x版本中type概念的变更和数据迁移的方法。
ElasticSearch的简单介绍与使用【进阶检索】 实时搜索 | 分布式搜索 | 全文搜索 | 大数据处理 | 搜索过滤 | 搜索排序
|
4月前
|
存储 API 数据库
检索服务elasticsearch索引(Index)
【8月更文挑战第23天】
70 6
|
4月前
|
存储 负载均衡 监控
检索服务elasticsearch节点(Node)
【8月更文挑战第23天】
62 5
|
4月前
|
存储 监控 负载均衡
检索服务elasticsearch集群(Cluster)
【8月更文挑战第23天】
67 3
|
4月前
|
存储 监控 负载均衡
检索服务elasticsearch分布式结构
【8月更文挑战第22天】
49 3
|
2月前
|
运维 自然语言处理 开发者
作为一名运维人员,使用通义灵码个人版处理日常工作中的代码相关任务,极大地提升了我的工作效率。以下是我使用通义灵码的具体实践场景、效果和心得,以及相应的截图。
作为一名运维人员,我使用通义灵码处理日常工作中的代码任务,效率提升了30%。通义灵码帮助我快速理解复杂代码、生成准确的代码注释,并能从自然语言生成代码示例,大幅减少了代码编写和理解的时间。
72 3
|
3月前
|
机器学习/深度学习 人工智能 运维
|
4月前
|
网络协议 Java API
SpringBoot整合Elasticsearch-Rest-Client、测试保存、复杂检索
这篇文章介绍了如何在SpringBoot中整合Elasticsearch-Rest-Client,并提供了保存数据和进行复杂检索的测试示例。
SpringBoot整合Elasticsearch-Rest-Client、测试保存、复杂检索
|
3月前
|
存储 自然语言处理 关系型数据库
ElasticSearch基础3——聚合、补全、集群。黑马旅游检索高亮+自定义分词器+自动补全+前后端消息同步
聚合、补全、RabbitMQ消息同步、集群、脑裂问题、集群分布式存储、黑马旅游实现过滤和搜索补全功能
ElasticSearch基础3——聚合、补全、集群。黑马旅游检索高亮+自定义分词器+自动补全+前后端消息同步
|
4月前
|
SQL 存储 自然语言处理
检索服务elasticsearch全文搜索
【8月更文挑战第22天】
61 3

相关产品

  • 检索分析服务 Elasticsearch版