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插件时,实例需要满足以下条件:
版本 | 地域 |
Elasticsearch版本为7.16及以上,内核版本为1.7.0及以上 | 华南1(深圳)、西南1(成都)、华南3(广州)、华北6(乌兰察布)、北京金融云、中国香港。 |
Elasticsearch版本为7.10及以上,内核版本为1.8.0及以上 | 华北 2(北京)、华东 2(上海)、华东 1(杭州)、华南 1(深圳)、华北3(张家口) |
支持的地域可能有变化,以控制台为准。
功能优势
数据管理提效:基于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语句查询时序数据。 |