从 timescaledb 切换到 influxdb - 如何组织数据?(许多数据点,每个查询都会通过给定的设备 ID 获取所有数据)

Mat*_*iak 1 postgresql time-series influxdb timescaledb

目前我正在使用带有一张表的时间刻度数据库(timestamp、device_id、group_id、data jsonb)。我正在考虑切换到 influxdb 因为它具有扩展的可能性。数据大小:约10M行。

数据架构:

  1. 时间戳(明显)
  2. 设备ID
  3. 组号
  4. 数据 => 2 到 30 个浮点值

按组 ID 分组的所有记录均位于一个设备 ID 下。99% 的情况下,我需要通过设备 ID 或组 ID 以及可选的时间边界来获取所有数据点。无需按给定的 periodid 查询单个测量结果。保留 - 永远(仅根据需要删除)。

对于给定的要求,influxdb 是一个不错的选择吗?如果是这样,如何为此类用例组织存储桶/标签?

事实上,在大多数情况下,我不需要部分和跨设备查询数据,这可能很重要。

小智 5

我很好奇您是否在某种程度上遇到了 TimescaleDB 的问题,或者可能只是不知道它的某些功能。

使用 TimescaleDB 在单个实例上可以轻松实现该级别的扩展,以及数亿或数十亿行的扩展。如果您需要水平扩展,TimescaleDB 也可以通过分布式超表来实现。此外,InfluxDB 中的多节点扩展仅在您托管时才可用,而不是在其当前的开源产品中。

如果您需要长期保留数据,本机压缩也是一个很好的功能,可以让您保留很长一段时间(可能)数据,甚至可以更快地查询历史数据(如果已订购)正确地以压缩形式。

有什么我们可以帮助解决的具体问题吗?