年度回顾:阿里云Elasticsearch 在泛日志场景的核心能力建设

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 本文整理自阿里巴巴资深技术专家邓万禧在 阿里云Elasticsearch 自研引擎年度发布 的演讲。主要内容包括:1、年度回顾;2、泛日志场景机会与挑战;3、Elasticsearch 日志 Serverless 服务1.0

摘要本文整理自阿里巴巴资深技术专家邓万禧在 阿里云Elasticsearch 自研引擎年度发布 的演讲。主要内容包括:

  1. 年度回顾
  2. 泛日志场景机会与挑战
  3. Elasticsearch 日志 Serverless 服务1.0


一 、年度回顾

1Elasticsearch(简称 ES)发展进程:

a. 2018年:Elasticsearch 上云

  • 兼容开源版本,开箱即用;
  • 多集群运管效率提升;


b. 2019年:ELK 生态组件全托管

  • Elasticsearch5.5/6.3/6.7/7.4云上多版本发布;
  • Beats/Logstash/Kibana 云上全托管服务;


c. 2020年:APack 引擎通用增强

  • 计算存储分离架构;
  • 索引压缩插件;
  • 时序查询剪枝;
  • 物理复制插件;
  • Faster-bulk;


d. 2021年:日志增强版

  • IndexingService:写入 Serverless 服务;
  • 自研海量存储引擎1.0:存储 Serverless 服务;
  • Elasticsearch TSDB 时序引擎(与社区共建);


e. 2022:日志 Serverless 服务

  • APack2.0日志执行引擎;
  • 自研海量存储引擎2.0:智能冷热存储;
  • 云原生数据采集。


2发展阶段

在2020年以前,Elasticsearch 主要是进行产品通用能力的建设:

  • ES 产品功能丰富,适用场景广泛,客户分布在多个甚至十多个集群,通用增强能给客户提供更好的体验,比如配置管理、监控报警、插件管理等;
  • ES 生态组件丰富,希望客户能得到一站式体验,从而降低使用成本;
  • 在不影响客户兼容性的情况下,增强 ES 引擎的能力,因此通过插件中心发布查询分析、稳定性增强、写入优化、监控报警等二十多个插件;

 

通过以上三方面工作,从管控、生态、内核三方面全面增强阿里云 ES 产品能力,解决 ES 企业级客户上云提效的需求。

2020年以后,随着上云客户对降低成本的需求,ES 重点针对日志场景提供日志增强版,集成 Indexing Service 和自研海量存储引擎子产品解决日志场景需求。


二、泛日志场景机会与挑战


企业数字化转型过程中,大量企业通过 Elasticsearch 满足日志检索、存储、归档审计的需求。

 

1泛日志场景的挑战

随着企业数字化转型和互联网企业对数据安全的关注,泛日志数据管理需求愈发重要,如云原生服务及系统日志、安全审计、互联网企业的用户型分析等;同时 ELK 生态全观察功能也越来越丰富和完善,更多企业选择 ELK 开源生态来解决业务需求。泛日志场景的挑战主要有以下三个方面:

 

a. 高写入吞吐和弹性

千万级写入:客户将 ES 用于泛日志场景,首先解决的是数据接入问题,而日志场景经常是写多读少,很多客户的日志写入量都非常大,达到TB级以上,因此提供高吞吐写入,是 ES 首先要解决的问题;

快速扩展能力:此外还存在写入突增和峰谷差异大问题,比如由于扩容不及时造成写入拒绝;

稳定性保障:为保障线上服务的稳定性,需要相对专业的 ES 引擎支持,和对内部机制的理解;

 

b. 海量日志存储成本

包括长周期日志存储、数据冷热特点明显、归档存储需求等。

泛日志数据是典型的带时间属性的数据,数据规模会随着时间逐步累积,因此大中型客户的存储规模非常大,给 SRE 人员增加了额外的运维成本;

 

c. 分析性能瓶颈

如 Ad-hoc 查询、统计分析需求、多租户查询等。

泛日志场景查询通常是对数据进行多维度统计分析,这类查询的资源控制和性能会产生问题。

 

2、阿里云Elasticsearch 产品解决方案-日志增强版

针对上述挑战,阿里云 ES 推出日志增强版,在产品架构上引入了三个组件:Indexing Service、自研海量存储引擎和 APack。


image.png

a. Indexing Service

读写分离架构,一个超大的 ES 集群阵列,专做 Indexing Build,每个客户可灵活使用。

  • 高性能写入:ES 内核层优化将单位资源写入性能提升了150%,并通过“削峰填谷”的云原生特性为客户在单位时间内保留海量算力;
  • 物理复制:通过 segment 级的实时物理复制,平均数据延迟在百毫秒级内;
  • 异地容灾高可用:异地多活架构,服务本身的高可用性;

 

b. 自研海量存储引擎

低成本索引存储,服务化多级存储及索引调度能力,无需关注存储介质。

  • 高查询性能:多级存储及 cache 优化,用更低的费用获得更优的 IOPS;
  • 计算存储分离:存算资源完全解耦,提升索引迁移及恢复的速度,集群扩展性有效提升;
  • 全自动索引生命周期管理:基于简单的索引周期配置,智能化托管索引生命周期调度的全过程;
  • 异地容灾高可用:异地多活架构,存储服务本身的高可用性保障;

 

c. Apack,内核定制优化。




三、Elasticsearch 日志 Serverless 服务1.0


2022年,阿里云将ES日志增强版升级为日志 Serverless 服务产品,并正式发布日志 Serverless 服务1.0。

 

1、日志 Serverless 服务1.0的核心价值


a. 高吞吐:

云端写入10倍能力提升,解决时序日志数据高并发写入瓶颈;


b. 性价比:

成本降低70%,优化集群计算/存储资源成本,提供按需使用,按实际流量/存储空间付费;


c. 易运维:

原生 Serverless,降低大规模集群运维复杂度,支持秒级弹性伸缩和全托管式免运维服务;


 

2、内核技术架构

在 ES 日志增强版技术架构中,最下层是云原生管控服务平台,上面是 Indexing Service、自研海量存储引擎和 APack。

 image.png


a. 云原生管控服务平台:

解决资源管理、多租户调度、安全审计、企业级监控报警和智能诊断等问题,以提升客户产品运维体验。目前关注的问题主要是变更效率,包括:可灰度、可监控和可回滚三个核心问题;


b. Indexing Service 索引构建服务:

主要解决高吞吐和弹性问题,通过读写分离架构,将Indexing Service作为独立服务,同时通过存算分离,独立Indexing Service所需资源,用户只需关注写入吞吐,按实际使用量付费。


平台的两个主要工作:

第一是通过物理和逻辑隔离,实现海量客户的多注入构建平台;第二,流式索引管理和资源管理,为客户提供按需扩容和按量付费的云原生 Serverless 能力;另外,还集成了内核增强特性,和针对阿里云的内核定制优化,以提升写入索引构建性能;


c. 自研海量存储引擎:

针对存储成本的思考,从冷数据存储出发,引入存算分离架构,冷存集成支持阿里云对象存储OSS,查询性能通过索引格式调优,多级 Cache 缓存和混合储存;

d. APack 执行引擎:

主要针对多租户查询 Serverless 服务,实现细密度查询租户控制和资源隔离,降低 SRE 集群管理难度和成本;另外根据自研海量存储引擎产品特性和日志查询特点,定制预读和剪枝策略,以提升查询性能。

 

3、服务特性:

 

a. 高性价比日志存储引擎

  • 读写分离架构:快速弹性伸缩 + 降低资源冗余;
  • 存算分离架构:基于 OSS 降低冷数据存储成本;
  • 索引压缩:ZSTD 压缩、日志场景配置调优等;
  • 性能优化:针对日志场景写入和查询分别定制优化;


b. 开箱即用的 Serverless 服务

  • 独立索引构建服务:免运维、按写入吞吐量付费;
  • 定制索引存储服务
  • 户可需购买:降低冗余的存储成本;
  • 智能冷热分离:降低用户区分冷热的运维成本;
  • 云原生管控服务:提升用户服务变更体验和效率。


END


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


相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
11天前
|
存储 SQL 监控
|
11天前
|
自然语言处理 监控 数据可视化
|
11天前
|
运维 监控 安全
|
15天前
|
存储 监控 安全
|
14天前
|
存储 数据采集 监控
开源日志分析Elasticsearch
【10月更文挑战第22天】
44 5
|
8天前
|
存储 安全 数据管理
如何在 Rocky Linux 8 上安装和配置 Elasticsearch
本文详细介绍了在 Rocky Linux 8 上安装和配置 Elasticsearch 的步骤,包括添加仓库、安装 Elasticsearch、配置文件修改、设置内存和文件描述符、启动和验证 Elasticsearch,以及常见问题的解决方法。通过这些步骤,你可以快速搭建起这个强大的分布式搜索和分析引擎。
21 5
|
1月前
|
存储 JSON Java
elasticsearch学习一:了解 ES,版本之间的对应。安装elasticsearch,kibana,head插件、elasticsearch-ik分词器。
这篇文章是关于Elasticsearch的学习指南,包括了解Elasticsearch、版本对应、安装运行Elasticsearch和Kibana、安装head插件和elasticsearch-ik分词器的步骤。
116 0
elasticsearch学习一:了解 ES,版本之间的对应。安装elasticsearch,kibana,head插件、elasticsearch-ik分词器。
|
2月前
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
3月前
|
数据可视化 Docker 容器
一文教会你如何通过Docker安装elasticsearch和kibana 【详细过程+图解】
这篇文章提供了通过Docker安装Elasticsearch和Kibana的详细过程和图解,包括下载镜像、创建和启动容器、处理可能遇到的启动失败情况(如权限不足和配置文件错误)、测试Elasticsearch和Kibana的连接,以及解决空间不足的问题。文章还特别指出了配置文件中空格的重要性以及环境变量中字母大小写的问题。
一文教会你如何通过Docker安装elasticsearch和kibana 【详细过程+图解】
|
3月前
|
JSON 自然语言处理 数据库
Elasticsearch从入门到项目部署 安装 分词器 索引库操作
这篇文章详细介绍了Elasticsearch的基本概念、倒排索引原理、安装部署、IK分词器的使用,以及如何在Elasticsearch中进行索引库的CRUD操作,旨在帮助读者从入门到项目部署全面掌握Elasticsearch的使用。

相关产品

  • 检索分析服务 Elasticsearch版