在PostgreSQL中存储值历史记录

时间:2017-08-11 05:43:18

标签: postgresql time-series

让我们说,我们需要存储温度传感器的读数并保持每天的历史记录。每个度量都是一个元组day: number, value: string(有些日子可能会错过,这就是我们需要明确存储日期的原因)。有数十万个传感器。

添加新测量不需要重新读取和重写整个对象,它应该是小增量添加

并且,同一天可能有多个阅读。在这种情况下,如果日期相同,则只保留当天的最新测量值

应该使用什么数据结构?我可以看到以下方式:

CREATE TABLE sensor_history (
  sensor_id integer,
  time      integer[],
  value     text[]
);

CREATE TABLE sensor_history (
  sensor_id integer,
  history   json/jsonb/hstore
);

1 个答案:

答案 0 :(得分:1)

为什么不在每个元组存储一行? e.g。

CREATE TABLE sensor_history (
  sensor_id integer,
  time      integer,
  value     text
);