时序数据库TSDB

    数据预处理

    新建预处理规则

    当TSDB中存储的数据量较大时,将数据按照用户指定的规则筛选出来需要较长的等待时间,有可能请求导致超时,造成查询失败。

    针对这种情况,用户可以配置数据预处理,提前将相关数据过滤、聚合好,实现快速返回查询结果。

    注意:

    • 免费数据库无法创建预处理规则。
    • 每个付费数据库只能创建2个预处理规则。
    • 预处理规则标签个数上限5个。
    • 预处理规则多选metric上限10个,仅支持单选或全选。
    • 预处理规则聚合函数上限3个。
    • 预处理规则支持修改重置,重置的间隔时间必须要大于1个小时。
    1. 选择“产品服务>时序数据库TSDB>数据库名称”,进入数据库详情页面。
    2. 点击数据库名称,进入数据库详情页。点击“预处理”页签,进入配置页面。
    3. 点击“新建规则”,在弹出窗口中配置预处理规则。

      具体包括以下配置项:

      • 规则名称:设置规则名称,用来标识具体规则。
      • 度量:从下拉列表中选择当前数据库中已有的Metrics名称,或者选择全部Metrics。
      • 开始时间:预处理操作计算原始数据的起始基准时间。在上图配置中,预处理规则原始数据的起始基准时间为 2000-01-01 00:10:00,会以此作为开始时间,先对 2000-01-01 00:10:00 至今的所有数据点进行聚合(对齐到5小时)。如下图所示:

        TSDB_Pre_Demo.png

        在规则初始化过程中,此时预处理规则尚未生效,查询请求不会命中预处理数据点。规则初始化结束后,预处理规则会进入生效状态,此时匹配的查询请求会命中预处理数据点。规则修改之后,会进入重置状态,重置结束之后,查询请求才会命中。

      • 标签索引:指定标签对数据进行过滤,预处理规则标签个数上限5个。
      • 聚合函数:通过内置函数对数据进行处理,预处理规则聚合函数上限3个。当前支持的聚合函数包括:

        • Avg:以每个采样时间范围内的value的平均值作为结果
        • Dev:以每个采样时间范围内的value的标准差作为结果
        • Count:以每个采样时间范围内的点的数目作为结果
        • First:以每个采样时间范围内的第一个value作为结果
        • Last:以每个采样时间范围内的最后一个value作为结果
        • LeastSquares:对每个采样时间范围内的value进行最小二乘法的拟合
        • Max:以每个采样时间范围内的value的最大值作为结果
        • Min:以每个采样时间范围内的value的最小值作为结果
        • Percentile:每个采样时间范围内的value的第p百分位数作为结果。
        • Sum:以每个采样时间范围内的value的总和作为结果
        • Diff:以每两个相邻的value的差值作为结果
        • Div:以每个value除以一个除数作为结果
        • Scale:以每个value乘以一个倍数作为结果

    查看预处理详情

    新建预处理规则后,可以在规则详情中查看数据预处理情况。

    1. 选择“产品服务>时序数据库TSDB>数据库名称”,进入数据库详情页面。
    2. 点击数据库名称,进入数据库详情页。点击“预处理”页签,进入配置页面。
    3. 找到已经创建的预处理规则,点击“查看详情”,可以获得以下配置信息,如下图所示:

      • 累计命中次数:通过查询面板或者API/SDK查看数据点时,命中该规则的次数。
      • 累计原始点数:根据预处理规则中的度量值和标签,从数据库中筛选出的原始数据点数。
      • 累计规则点数:对“累计原始点数”进行聚合后获得的数据点数。

      关于其他信息的解释,请参看新建预处理规则

    查看预处理结果

    用户可以通过查询面板、SDK或API查看预处理后的数据。为了确保查询时能够命中预处理后的数据,需要满足以下条件:

    1. 查询规则的度量值必须是预处理规则的子集(预处理规则中可指定全部度量值或某一个独立的度量值)。
    2. 查询规则中标签过滤加上分组标签指定的tags必须和预处理规则中的标签索引相等。
    3. 查询规则中的聚合函数设置必须与预处理规则一致。

    通过查询面板生成图表的具体操作请参看生成图表

    上一篇
    插值查询
    下一篇
    与天工产品对接