频道
bg

SDT旋转门

coding一月 17, 20231mins
Algorithem

IoTDB 允许您在创建时间序列时指定 SDT 的属性,并支持以下三个属性:

  • CompDev (Compression Deviation,压缩偏差)

CompDev 是 SDT 中最重要的参数,它表示当前样本与当前线性趋势之间的最大差值。CompDev 设置的值需要大于 0。

  • CompMinTime (Compression Minimum Time Interval,最小压缩时间间隔)

CompMinTime 是测量两个存储的数据点之间的时间距离的参数,用于减少噪声。 如果当前点和最后存储的点之间的时间间隔小于或等于其值,则无论压缩偏差如何,都不会存储当前点。 默认值为 0,单位为毫秒。

  • CompMaxTime (Compression Maximum Time Interval,最大压缩时间间隔)

CompMaxTime 是测量两个存储的数据点之间的时间距离的参数。 如果当前点和最后一个存储点之间的时间间隔大于或等于其值, 无论压缩偏差如何,都将存储当前点。 默认值为 9,223,372,036,854,775,807,单位为毫秒。

刷入磁盘和 SDT 压缩之前,结果如下所示:

bash

IoTDB> SELECT s0 FROM root.sg1.d0
+-----------------------------+--------------+
| Time|root.sg1.d0.s0|
+-----------------------------+--------------+
|2017-11-01T00:06:00.001+08:00| 1|
|2017-11-01T00:06:00.002+08:00| 1|
|2017-11-01T00:06:00.003+08:00| 1|
|2017-11-01T00:06:00.004+08:00| 1|
|2017-11-01T00:06:00.005+08:00| 1|
|2017-11-01T00:06:00.006+08:00| 1|
|2017-11-01T00:06:00.007+08:00| 1|
|2017-11-01T00:06:00.015+08:00| 10|
|2017-11-01T00:06:00.016+08:00| 20|
|2017-11-01T00:06:00.017+08:00| 1|
|2017-11-01T00:06:00.018+08:00| 30|
+-----------------------------+--------------+
Total line number = 11
It costs 0.008s

123456789101112131415161718

刷入磁盘和 SDT 压缩之后,结果如下所示:

bash

IoTDB> FLUSH
IoTDB> SELECT s0 FROM root.sg1.d0
+-----------------------------+--------------+
| Time|root.sg1.d0.s0|
+-----------------------------+--------------+
|2017-11-01T00:06:00.001+08:00| 1|
|2017-11-01T00:06:00.007+08:00| 1|
|2017-11-01T00:06:00.015+08:00| 10|
|2017-11-01T00:06:00.016+08:00| 20|
|2017-11-01T00:06:00.017+08:00| 1|
+-----------------------------+--------------+
Total line number = 5
It costs 0.044s

12345678910111213

SDT 在刷新到磁盘时进行压缩。 SDT 算法始终存储第一个点,并且不存储最后一个点。

时间范围在 [2017-11-01T00:06:00.001, 2017-11-01T00:06:00.007] 的数据在压缩偏差内,因此被压缩和丢弃。 之所以存储时间为 2017-11-01T00:06:00.007 的数据点,是因为下一个数据点 2017-11-01T00:06:00.015 的值超过压缩偏差。 当一个数据点超过压缩偏差时,SDT 将存储上一个读取的数据点,并重新计算上下压缩边界。作为最后一个数据点,不存储时间 2017-11-01T00:06:00.018。

Untitled

评论


新的评论

匹配您的Gravatar头像

Joen Yu

@2022 JoenYu, all rights reserved. Made with love.