关于存储:阿里云ES全观测引擎TimeStream时序增强功能重磅发布助力时序场景实现最佳实践

4次阅读

共计 4640 个字符,预计需要花费 12 分钟才能阅读完成。

简介:阿里云 ES 全观测引擎 TimeStream 时序加强性能最新公布,在云原生 ELK 全托管根底上,通过 TimeStream 时序加强性能插件,可实现高性能、低成本时序数据存储和查问剖析。本文介绍 TimeStream 实用场景、性能劣势、性能测试后果和实际案例

Elasticsearch 的全观测能力

视频介绍 >>

随着企业 IT 零碎拓扑构造日趋简单,零碎架构从单体道分布式再到微服务,部署模式从物理服务器部署到虚拟化再到容器化利用,基础设施上云后开发模式也从传统瀑布式到 DevOps 开发运维联合。简单的零碎链路中多种数据源背地,是不同的数据类型,以及极高的海量非结构化数据的对立采集、加工、存储和保护老本。在传统 SRE 运维场景之外,企业业务场景在实时剖析、平安审计、用户行为、经营增长、交易记录场景衍生出各类利用,由此带来多套观测计划交错,保护老本大幅晋升,同一个业务组件或零碎,产生的数据不同计划中数据难互通,无奈充分发挥数据价值。

由此,各个企业也越发关注对系统可观测能力的建设,迫切需要把各类数据在对立平台进行存储、监控和检索剖析。业内公认,log、metric、trace 是全观测的三大支柱,通过搭建对立的观测零碎,在运维场景帮忙运维人员在「事先」理解零碎运行状态,「事中」疾速定位故障,「预先」根因剖析,以此晋升零碎高可用,降本增效。但在全观测技术演进过程中,不仅须要跨云、跨业务零碎实现日志和时序数据的观测,而日志、时序等各类数据场景撑持的技术原子工具繁多,工具之间的连接艰难,技术组价及平台的保护老本高。

可观测作为 Elastic 三大外围解决方案之一,基于 Elasticsearch 全观测能力能够对立收集日志、指标、uptime 数据、应用程序跟踪 tracing 数据,并将各类数据对立存储到 Elasticsearch,进行对立解决剖析并基于 Kibana 实现可视化。从而可观测场景下实现了技术栈对立,SRE 团队也毋庸基于多种技术组件搭建可观测平台。

在全观测场景下,阿里云 Elasticsearch 在基于云原生 Serverless 日志引擎能力,继续优化在海量日志数据的写入性能及存储老本。而在对 Metric 时序数据的存储和处理过程中,往往会面临以下几个问题:

TimeStream 是什么?

TimeStream 是阿里云 Elasticsearch 团队自研,并联合 Elastic 社区时序类产品个性共建的时序引擎。在云原生 ELK 全托管根底上,通过 TimeStream 时序加强性能插件,可实现高性能、低成本时序数据存储和查问剖析。

阿里云 ES TimeStream 的劣势

作为 Ali 内核深度整合的阿里云 ES 时序场景核心技术,Timestream 大幅优化了阿里云 ES 时序场景的老本、性能和易用性:

  • 数据管理提效:基于 Timestream 时序数据模型及增删改查,集成 Elasticsearch 在时序场景的最佳实际模板,大幅升高了 Elasticsearch 治理时序指标数据的门槛
  • 查问体验晋升:反对应用 PromQL 查问 Elasticsearch 数据,可无缝对接 Prometheus+Grafana,反对 DownSample 采样查问和 DataStream 工夫分区
  • 存储老本优化:通过数据压缩优化、元数据存储容量优化,TimeStream 索引相比开源 Elasticsearch 一般索引的存储容量升高了 80% 以上
  • 读写性能晋升:TimeStream 索引相比开源 Elasticsearch 一般索引写入 TPS 晋升近 40%,对于时序数据的罕用查问剖析,性能相比开源 Elasticsearch 晋升了 5 倍

与开源比照

时序场景中 Elasticsearch 在应用和不应用 TimeStream 插件状况下,场景化配置、存储、查问比照如下:

比照项 应用 TimeStream 不应用 TimeStream
<span class=”lake-fontsize-10″> 场景化配置 </span> <span class=”lake-fontsize-10″>TimeStream 引擎原生反对时序类型数据模型,</span><span class=”lake-fontsize-10″> 主动生成_tsid,indexing sort 优化 </span><span class=”lake-fontsize-10″> 等 </span> <span class=”lake-fontsize-10″> 须要用户进行大量指标场景最佳实际,例如生成一个工夫线 id 字段,应用工夫线 id 和工夫配置 indexing sorting,应用工夫线 id 做 routing 等 </span>
<span class=”lake-fontsize-10″> 存储 </span> <ul><li><span class=”lake-fontsize-10″>ali-codec 插件反对通过 doc_values 生成_source</span></li><li><span class=”lake-fontsize-10″> 反对 </span><span class=”lake-fontsize-10″> 不存储_id</span></li><li><span class=”lake-fontsize-10″>ali-codec 在时序场景压缩优化 </span></li></ul> <ul><li><span class=”lake-fontsize-10″> 时序场景_id、_source 等元数据字段占用 </span><span class=”lake-fontsize-10″>70%</span><span class=”lake-fontsize-10″>+ 存储容量 </span></li><li><span class=”lake-fontsize-10″>doc value 对 double 类型压缩不敌对,时序场景数据类似度很高,double 数据却根本没压缩 </span></li></ul>
<span class=”lake-fontsize-10″> 查问语句 </span> <span class=”lake-fontsize-10″> 反对 </span><span class=”lake-fontsize-10″>PromQL 查问 DSL</span> <span class=”lake-fontsize-10″> 专门构建 query DSL 查问 Metric 数据 </span>
<span class=”lake-fontsize-10″> 降采样 </span> <span class=”lake-fontsize-10″> 简略配置工夫距离,即可反对 </span><span class=”lake-fontsize-10″> 降采样性能 </span> <span class=”lake-fontsize-10″> 须要用户侧自行进行降采样解决 </span>
<span class=”lake-fontsize-10″> 工夫分区 </span> <span class=”lake-fontsize-10″> 依照理论数据分区,一个工夫范畴的数据会散布在确定的索引中 </span> <span class=”lake-fontsize-10″> 按写入的程序分区,一个工夫范畴的数据可能散布在很多索引中 </span>

### 性能比照

从 benchmark 比照后果看,阿里云 Elasticsearch 基于 TimeStream 实现了 Elasticsearch 时序读写性能大幅晋升,外围性能与传统开源时序类产品处于同一级别

存储容量方面

TimeStream 索引相比开源 Elasticsearch 一般索引 存储容量升高超过 80%

TimeStream 反对不存储 \_id,使得与同等条件下存储 \_id 的一般索引相比,存储容量升高超过 90%,与开源时序数据库持平;

写入性能方面

TimeStream 索引相比开源 Elasticsearch 一般索引晋升 写入 TPS 晋升近 40%

查问性能方面

单并发简略查问,阿里云 ES 靠近开源时序产品;

单并发简单查问,阿里云 ES TimeStream 查问性能体现更优。

多并发,简略和简单查问语句下 阿里云 ES TimeStream 查问性能体现更优

### 实际案例

#### 案例 A:TimeStream 治理 Elasticsearch 时序数据疾速入门

STEP1 购买和应用

TimeStream 目前反对阿里云 ES 7.16 版本实例(内核版本 1.7.0 及以上)

通过零碎默认插件列表查看是否已装置 Aliyun-TimeStream 插件,确认领有 TimeStream 最新性能

STEP2 创立 TimeStream 时序数据索引

在 Kibana 控制台通过 time\_stream 的 create 接口创立时序数据类型索引,命令及返回后果如下。

STEP3 写入数据

应用 bulk、index 接口写入数据,写入时需依照时序模型写入(模型字段可批改),命令及返回后果如下。

STEP4 查问数据

应用 search 接口查问数据,以及应用 cat indices 接口查看 test\_stream 具体索引信息,命令及返回后果如下:

STEP5 应用 DownSample 性能

通过 time\_stream 的 create 接口创立时,可间接指定 DownSample 规定,通过配置 interval 设定 downsample 精度,示例如下:

相干文档 >>

#### 案例 B:应用阿里云 ES TimeStream 对接 Prometheus+Grafana 实现可观测性

阿里云 Elasticsearch 反对无缝对接 Prometheus+Grafana,反对 Prometheus Query 相干的 API,能够间接将 TimeStream 索引作为 Grafana 的 Prometheus 数据源应用,可能进步时序数据存储与查问剖析的性能,同时节约老本。

通过 node\_expoter 收集各种与硬件和内核相干的指标,并提供给 Prometheus 进行读取,再通过 remote write 将数据写入阿里云 ES TimeStream 索引,并通过配置 Grafana 进行可视化剖析。

下图示例在 Grafana 配置 Prometheus 数据源,应用 PromQL 查问作为 Prometheus 数据源的阿里云 ES 数据,拜访并可视化。

相干文档 >>

### 相干文档

 TimeStream 时序加强引擎介绍 – 检索剖析服务 Elasticsearch 版 – 阿里云

 应用 Aliyun-TimeStream 插件 – 检索剖析服务 Elasticsearch 版 – 阿里云

 TimeStream 集成 Prometheus 接口 – 检索剖析服务 Elasticsearch 版 – 阿里云

 TimeStream 治理 Elasticsearch 时序数据疾速入门 – 检索剖析服务 Elasticsearch 版 – 阿里云

 基于 TimeStream 对接 Prometheus+Grafana 实现可观测性 – 检索剖析服务 Elasticsearch 版 – 阿里云

### 分割咱们(钉群二维码)

更多可观测场景架构及应用最佳实际交换,欢送扫描二维码退出钉群 >>

阿里云 ES 1 元包月试用 >>👆🏻

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

正文完
 0