1、中国开发者大会 2023基于 Elasticsearch 打造时序引擎-阿里云与 Elastic 社区共建实践分享 魏子珺,内核专家 阿里巴巴,2023/04/08中国开发者大会 2023 Elasticsearch为什么做TSDBElasticsearch做TSDB的挑战Elasticsearch TSDB特性介绍阿里云Elasticsearch TimeStream介绍Elasticsearch社区国内Top 1,全球 Top 100 Contributor,Elastic Gold Contributor 中国开发者大会 2023 Elasticsearch为什么做TSDB阿里与Elas
2、tic社区时序引擎共建 issues#74660中国开发者大会 2023 怎么能用ES做TSDB呢?肯定要用专业的TSDB?ES本来就可以做TSDB,为什么还要开发?用户们的声音中国开发者大会 2023 监控-IOT-可观察性(ES核心战场)TSDB两大主流场景中国开发者大会 2023 TSDB介绍(特点鲜明):采样数据:基于稳定频率持续产生的一系列数据。数据模型固定:timestamp(时间)、dimension(维度)、metric(指标)。时间线:由维度组成,保持不变,时间和指标在不断变化。持续产生海量数据,没有波峰波谷。垂直写(最新数据),水平查。中国开发者大会 2023 写入查询成本
3、支持高TPS写入支持多维度查询、聚合支持高压缩率010203TSDB需求中国开发者大会 2023 TSDB关键能力(ES都具备)1 123列式存储类LSM数据结构聚合分析中国开发者大会 2023 Elasticsearch做TSDB的挑战中国开发者大会 2023 需要对ES有深入掌握,才能在时序场景最佳实践需使用复杂的query DSL,而且性能不佳存储容量是专业TSDB容量的几十倍ES做TSDB痛点使用门槛过高-查询慢&复杂-成本过大-中国开发者大会 2023 ES做TSDB最佳实践方式:-metrics字段,只存储doc values-根据dimension字段生成时间线id-使用时间线i
4、d做routing-使用时间线id和timestamp做index sorting-不存储_source-使用门槛过高-查看指标up监控曲线查询慢&复杂-ES DSLPromQLup/api/v1/query_range?query=up&start=2015-07-01T20:00:00.000Z&end=2015-07-01T21:00:00.000Z&step=15sPOST test/_searchsize:0,query:range:timestamp:gte:2015-07-01T20:00:00.000Z,lt:2015-07-01T21:00:00.000Z,aggs:by_t
5、ime_series:terms:field:_tsid,size:10,aggs:by_date_histogram:date_histogram:field:timestamp,fixed_interval:15s,aggs:last_value:top_metrics:metrics:field:up,sort:timestamp:descES DSLPromQLsum(rate(index_qps1m)by(cluster)按集群维度查看index_qps监控曲线/api/v1/query_range?query=rate(index_qps1m)&start=2015-07-01T2
6、0:00:00.000Z&end=2015-07-01T21:00:00.000Z&step=1mPOST test/_searchsize:0,query:range:timestamp:gte:2015-07-01T20:00:00.000Z,lt:2015-07-01T21:00:00.000Z,aggs:group:multi_terms:size:50,order:order_standard:desc,_key:asc,terms:field:cluster,agg:order_standard:sum:field:index_qps,by_date_histogram:date_