核心数据IoTPerformance 和 Scale 套餐

IoT 与指标时间序列

写入传感器和指标采样,按需保留原始数据,复制到长期保留的序列,并按需聚合到时间桶中。

按序列设置
保留期
复制规则
自动
用于查找序列
标签
步骤 1 / 6
创建序列

原始采样保留 24 小时,并按楼宇和类型打标签。

示例会话playing
# 创建序列
hotkv> TS.CREATE temp:b4:f2 RETENTION 86400000 LABELS building b4 type temperature
OK

使用真实 HotKV 命令和示例回复的动画演示。点击任意步骤即可跳转。 命令和回复保持英文,与您在 HotKV 中输入和看到的完全一致。

问题所在

数以千计的传感器每隔几秒各发送一个读数。告警需要几个小时的原始数据,报告需要一年的历史,而找到正确的序列意味着要按楼宇、楼层或设备类型搜索。为此单独运行一个时间序列数据库,又多了一个需要运维的系统。

HotKV 如何解决

HotKV 中的时间序列带有保留期和标签。设备用 TS.ADD 追加采样,降采样规则把每个新采样复制到一个保留更久的序列中,TS.AGG 则用 avg、min、max 等函数把任意时间范围聚合到固定宽度的时间桶中。

逐步演示

逐条命令,看看发生了什么

  1. 01

    创建序列

    原始采样保留 24 小时,并按楼宇和类型打标签。

    TS.CREATE temp:b4:f2 RETENTION 86400000 LABELS building b4 type temperature
  2. 02

    长期序列

    第二个序列,采样保留一年。

    TS.CREATE temp:b4:f2:1y RETENTION 31536000000
  3. 03

    把采样复制过去

    每个新采样也会复制到长期序列中。用 TS.AGG 以每小时平均值读取。

    TS.DOWNSAMPLE temp:b4:f2 temp:b4:f2:1y avg 3600000
  4. 04

    写入采样

    传感器通过网关上报。* 表示使用服务器时间。

    TS.ADD temp:b4:f2 * 21.4
  5. 05

    为图表聚合

    最近一小时的五分钟平均值,可直接绘图。

    TS.AGG temp:b4:f2 1790982000000 1790985600000 300000 avg
  6. 06

    按标签查找序列

    b4 楼中所有的温度序列。

    TS.LIST LABEL building b4
适用场景

真实场景

智能楼宇

温度、CO2 和人员占用按楼层存储,原始数据保留一天,每小时平均值用于报告。

车队遥测

车速、电池和发动机数据被持续写入,并按车辆绘制图表。

应用指标

各端点的请求延迟和错误计数为实时仪表盘提供数据,无需单独的指标数据库。

内置功能

您将获得

按序列设置保留期

旧采样会被自动删除。

TS.CREATETS.RETENTION

降采样规则

新采样被复制到长期保留的序列中,读取时再进行聚合。

TS.DOWNSAMPLE

分桶聚合

把任意时间范围聚合到固定宽度的时间桶中。

TS.AGGTS.RANGE

标签

按标签值查找序列。

TS.LISTTS.INFO

常见问题

可以发送自己的时间戳吗?

可以。向 TS.ADD 传入以毫秒计的 Unix 时间,而不是 *。

支持哪些聚合方式?

完整列表请参阅 TS.AGG 参考,包括 avg、min、max 和 sum。

哪些套餐包含此功能?

时间序列包含在 Performance 和 Scale 套餐中。

相关用例

在您自己的工作负载上试试

HotKV 兼容 Redis 协议,您可以把现有客户端指向它,运行这些相同的命令。