TimeStream是阿里云Elasticsearch团队自研,并结合Elastic社区时序类产品特性共建的时序引擎。阿里云Elasticsearch提供的TimeStream时序增强功能插件,优化了Elasticsearch在存储指标数据方面的DSL( Domain-Specific Language)查询复杂且慢以及存储成本过高等问题。本文介绍TimeStream时序增强引擎的产生背景、适用场景、优势及性能测试结果。

背景信息

当前用户在存储和使用时序类型数据时,通常需要在Elasticsearch中完成时序场景的复杂配置,门槛较高。同时该场景面临着海量时序数据写入性能不佳、存储成本高、查询复杂等问题。为解决这些问题,阿里云Elasticsearch团队推出了自研TimeStream时序引擎增强插件,该插件具有如下特点:
  • 支持时序类型数据模型,提供TimeStream索引的增删改查接口,创建TimeStream索引时自动配置Elasticsearch在时序场景的最佳实践,降低了Elasticsearch管理时序数据的门槛。
  • 使用TimeStream插件能够提升时序数据的写入和查询性能,大幅压缩时序数据的存储空间。
  • TimeStream插件支持使用PromQL查询Elasticsearch数据,可无缝对接Prometheus+Grafana,能够进一步降低阿里云Elasticsearch时序数据存储和使用的成本,提高效率和易用性。

使用场景

阿里云Elasticsearch自研TimeStream时序增强插件适用于时序数据的存储和使用场景,例如使用Elasticsearch存储和查询系统监控指标、IoT设备数据等。

使用限制

使用TimeStream插件时,实例需要满足以下条件:
  • 地域:华南1(深圳)、西南1(成都)、华南3(广州)、华北6(乌兰察布)、中国香港
  • 版本:Elasticsearch版本为7.16及以上,内核版本为1.7.0及以上
    说明 版本不满足要求时,需要新建通用商业版7.16版本实例,或者将7.16版本实例的内核版本升级到1.7.0及以上。

功能优势

  • 数据管理提效:基于TimeStream时序数据模型及增删改查,集成Elasticsearch在时序场景的最佳实践模板,大幅降低了Elasticsearch管理时序数据的门槛。
  • 查询体验提升:支持使用PromQL查询Elasticsearch数据,可无缝对接Prometheus+Grafana,支持DownSample采样查询和DataStream时间分区。
  • 存储成本优化:通过数据压缩优化和元数据存储容量优化,TimeStream索引相比开源Elasticsearch普通索引的存储容量降低了80%以上。
  • 读写性能提升:TimeStream索引相比开源Elasticsearch普通索引写入TPS提升近40%,对于时序数据的常用查询分析,性能相比开源Elasticsearch提升了5倍。
时序场景下,Elasticsearch在使用和不使用TimeStream插件的情况下,在数据模型、存储和查询维度的对比信息如下。
对比项 使用TimeStream 不使用TimeStream
数据模型 支持时序类型的数据模型。 需要用户进行大量指标场景最佳实践。例如生成一个时间线ID字段、使用时间线ID和时间配置indexing sorting、使用时间线ID做routing等。
存储 支持TimeStream索引增删改查,创建索引时自动配置Elasticsearch在TSDB场景的最佳实践,提升数据压缩率,大幅降低存储成本。 使用关系模型存储时序数据,会遇到存储容量过大问题。Elasticsearch官方验证存储容量是专业TSDB容量的25倍。
查询语句 支持PromQL语句查询时序数据,能够无缝对接Prometheus+Grafana。 需要使用复杂的DSL语句查询时序数据。

相关视频

TimeStream新功能介绍