比方说,我们需要存储温度传感器的读数并保存每天的历史记录。每个度量都是一个元组day: number, value: string
(有些日子可能会错过,这就是为什么我们需要明确存储这一天)。有成千上万的传感器。PostgreSQL中的商店历史记录
添加新测量不应该要求重新读取和重新写入整个对象,应该是小增量加法。
而且,同一天可能有多个阅读。在这种情况下,如果日期相同,那么只应保留当天的最新测量值。
应该使用什么数据结构?我可以看到以下几种方式:
CREATE TABLE sensor_history (
sensor_id integer,
time integer[],
value text[]
);
或
CREATE TABLE sensor_history (
sensor_id integer,
history json/jsonb/hstore
);
无论设计如何,您都将储存大量信息。你有没有考虑过使用NoSQL? –
是的,我看到您关于NoSQL的观点,但出于其他一些原因,在这种情况下,PostgreSQL将是更好的选择。 –
这取决于你打算如何处理数据。如果您不需要RDBMS功能的日志,那么NoSQL数据存储变得更具吸引力。 –