Redis 模块 RedisTimeSeries 新增时序数据库功能

Redis模块RedisTimeSeries在经过6个月的预览版后正式进入GA版。该模块旨在为Redis中的时间序列数据提供分析函数。它具有聚合函数等基本的时间序列工具,并利用了Redis现有的存储架构。目前还没有同已有时间序列数据库(TSDB,如OpenTSDBInfluxDB)的基准测试对比。

作为一个键值存储,Redis之前已经在其内部使用其它的数据结构来存储时间序列,如排序集、哈希和流等。这些方法有一些限制,比如没有时间序列工具集,而且还不清楚如何实现TSDB的一些特性(如标签)。RedisTimeseries本身源于Redis的内部需求,即存储和分析来自Redis所管理集群的时间序列的度量。现有的命令行接口与该模块兼容。

作为一个动态库加载,该模块把固定大小的内存块排列成链表。每个块的样本数量都是预定义好的,并且具有和Streams相同的索引实现。它具有基本的时间序列功能,如查询、聚合、保留策略、下采样以及压缩等。但是,这里的压缩似乎与其他时间序列数据库(如OpenTSDB)中的压缩不同。时间序列数据中的标签也为该序列添加了上下文信息。在这里,它们被实现为辅助索引。当使用毫秒级精度存储数据时,需要注意一些问题

该模块的第一次集成是作为Prometheus的远程写适配器,Prometheus将RedisTimeSeries作为其后端数据库。有一个数据源Grafana,并将Telegraf配置为指标收集器。虽然有报告称,与现有Redis存储时间序列的方式相比,该模块具有更好的性能,但是还没有针对其他时间序列数据库的基准对比。

该模块是开源的,具体代码详见Github。Redis目前还没有将该模块与核心产品合并的计划,未来将会集成更多的可视化工具和数据流供应商。

原文链接

RedisTimeSeries Module Adds Time Series Database Features to Redis

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章