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語句查詢時序資料。 |