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