【产品解读】阿里云 Elasticsearch 在日志场景中实现“低成本高性能”

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: “日志数据”正逐步成为互联网公司的重要资产,基于对“日志数据”的挖掘与分析,已成为优化企业对业务的变现能力与技术迭代效率的利器。但面临如此海量的数据,你真的准备好了吗?

本文字数:1435
预计阅读:3~5分钟

您将了解:
1、数据写入导致的高并发集群打爆问题,如何解决?
2、TB、PB级数据如何降低存储成本?
3、原生Elasticsearch在时序查询上的瓶颈如何突破?
4、峰谷差异大,如何避免闲置成本?

image.png

【全链路云上Elastic Stack 全景图】100%兼容开源,9大独有能力

----> 直播回顾 | 请点击观看 :阿里云Elasticsearch日志增强版介绍

寻根问源


image.png

日志场景面临的问题

日志场景是Elasticsearch使用中较为常见的场景,而大量日志数据让企业在追求经济效应与性能效应的同时,对产品本身提出了更为苛刻的要求。

1、高并发写入问题:
Elasticsearch在日志数据写入过程中,会同时对主副分片同步写入,还会去写开销较大的trancelog,从而造成Elasticsearch在高并发写入的时候,对机器CPU以及I/0的性能开销提出了更高的要求。

2、高存储成本问题:
日志数据的存储,往往需要对海量的数据进行存储,起步数据量都是在TB级别,有的企业甚至达到了PB级,而为了数据容灾性,还需要保存至少一个副本,这将对存储带来进一步的成本压力。

3、时序分析性能差
由于Elasticsearch的查询特征,会查一遍所有的segment,当你做较大范围range以及复杂聚合时,他的性能瓶颈就会立马凸显出来。

4、弹性可伸缩问题
日志随着业务变化,往往伴随峰值、均值和谷值的出现,且差异较大,企业通常为了解决峰值问题,会堆较多的机器已便满足峰值需求,那么“均值”、“谷值”期间就会造成机器资源大量浪费。

对【症】下药


1、计算存储分离:大幅提升日志高并发写入能力

计算存储分离的前提是将Elasticsearch的所有节点存基于NFS共享存储。【如图】数据流的写入请求,会先写到主分片,再写入到共享存储,而NRT segment会拷贝到临时目录,那么主分片与副分片在读取时就会存在差异,主分片仅读取commit segmen A,和refresh segment B,副分片读取的A’、B’。

image.png

计算存储分离的【核心思路】

1、 索引分片一写多读,且仅保留一个副本数据,降低存储成本,提升写入性能。
2、 依赖云存储保证数据可靠性:CTF底层具备三副本冗余机制,对云业务是透明的,保障数据不丢失。同时阿里云在面对极端情况下,备有分钟级的OSS自动备份机制,进一步提升数据可靠性。
3、 状态与索引分离。
4、 通过IO fence机制保证数据一致性,避免主进程僵死情况下双写的问题。
5、 内存物理复制降低主备延迟,从分钟级,降低至毫秒级。

2、秒级弹性扩缩容:避免因日志峰谷导致的“资源闲置”

image.png

3、物理复制状态机:不写实时索引,也能保证数据时效性

image.png

最佳应用实践


image.png

案例展示(部分集群)

案例背景:在阿里云搜索业务线上,有很多集团内、外的客户,会使用我们各种底层服务。为了保障各个业务之间不受影响,我们会对这些服务做一系列的监控,通过采集大量复杂的Metric做大量聚合,建立Dashboard。但除了做Monitor,相伴而生一定会有告警,也就是Alarming,那么这样一套监控、告警平台,底下使用的就是我们量身定制的日志增强版Elasticsearch。

架构解读

1、运用MetricBeats采集大量Metric数据,通过Gateway,向Elasticsearch集群去传输数据,写入量大概是40W docs/s。
2、传输数据中,有冷、热数据的区分,就需要将冷、热数据做切分配置。
3、由于需要对数据容灾处理,我们将数据自动快照到OSS里。

案例说明

我们通过计算后发现,如果用开源的Elasticsearch做同样的事情,所付出的成本将是该方案的一倍之多。因为不光是阿里云Elasticsearch增强版存储更便宜,同时为了时序Metric的场景更高的聚合效率,我们对阿里云内核也做了一些优化。

你如果是基于开源自建的ES集群,为了能够在聚合查询时有更好的性能,最直接的方式是冗余更多的datenote,来保证性能,当然这样会带来更高的费用,阿里云日志增强版针对性的解决了这个问题,不需要冗余过多的datanote,举这个例子是为了更好的帮助大家理解阿里云Elasticsearch日志增强版的能力

这套服务在阿里云内部是适用的,我们也对外提供同样的能力,供大家选择。

“宗师级”能力对比


数据来源:真实POC数据,开源Elasticsearch与日志增强版对比

  • 同样性能,费用节约24%

image.png

  • 同样客户需求,性能优越140%,成本减少43%

image.png

  • 综合能力彰显“宗师级”

image.png

相关活动


日志增强版_测试申请.png

扫码关注公众号‘Elasticsearch技术’,收获大咖最佳行业应用经验

image.png

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
10天前
|
弹性计算 运维 Serverless
超值选择:阿里云Elasticsearch Serverless在企业数据检索与分析中的高性能与灵活性
本文介绍了阿里云Elasticsearch Serverless服务的高性价比与高度弹性灵活性。
|
21天前
|
存储 数据采集 监控
阿里云DTS踩坑经验分享系列|SLS同步至ClickHouse集群
作为强大的日志服务引擎,SLS 积累了用户海量的数据。为了实现数据的自由流通,DTS 开发了以 SLS 为源的数据同步插件。目前,该插件已经支持将数据从 SLS 同步到 ClickHouse。通过这条高效的同步链路,客户不仅能够利用 SLS 卓越的数据采集和处理能力,还能够充分发挥 ClickHouse 在数据分析和查询性能方面的优势,帮助企业显著提高数据查询速度,同时有效降低存储成本,从而在数据驱动决策和资源优化配置上取得更大成效。
119 9
|
1月前
|
存储 SQL 监控
|
1月前
|
存储 缓存 固态存储
Elasticsearch高性能搜索
【11月更文挑战第1天】
50 6
|
1月前
|
自然语言处理 监控 数据可视化
|
1月前
|
运维 监控 安全
|
1月前
|
存储 数据采集 监控
开源日志分析Elasticsearch
【10月更文挑战第22天】
50 5
|
1月前
|
存储 安全 数据管理
如何在 Rocky Linux 8 上安装和配置 Elasticsearch
本文详细介绍了在 Rocky Linux 8 上安装和配置 Elasticsearch 的步骤,包括添加仓库、安装 Elasticsearch、配置文件修改、设置内存和文件描述符、启动和验证 Elasticsearch,以及常见问题的解决方法。通过这些步骤,你可以快速搭建起这个强大的分布式搜索和分析引擎。
54 5
|
2月前
|
存储 JSON Java
elasticsearch学习一:了解 ES,版本之间的对应。安装elasticsearch,kibana,head插件、elasticsearch-ik分词器。
这篇文章是关于Elasticsearch的学习指南,包括了解Elasticsearch、版本对应、安装运行Elasticsearch和Kibana、安装head插件和elasticsearch-ik分词器的步骤。
232 0
elasticsearch学习一:了解 ES,版本之间的对应。安装elasticsearch,kibana,head插件、elasticsearch-ik分词器。
|
3月前
|
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

热门文章

最新文章

相关产品

  • 检索分析服务 Elasticsearch版