我想知道两种不同方法用于存储具有许多实例变量(500)的对象的含义。对象是时间序列数据。因此,在任何给定时间,我们都会记录大约500个指标。在使用任何给定功能的数据时,我们通常只需要在500个中进行3或4个不同的测量。
所以我正在评估将测量结果存储为一个像这样的大型测量对象
TABLE measurement (measurement_id bigint PK, ts timestamp, real col1, real col2, real col3, ...)
或一系列如下表。
TABLE measurement (measurement_id bigint PK, ts timestamp)
TABLE measurement_kind (measurement_kind_id int PK, type int?, description text)
TABLE measurement_data (measurement_id bigint, measurement_kind_id int, value real, PK (measurement_id, measurement_kind_id))
所以我的问题是,使用选项1并使用投影来访问任何功能的相关数据是否合理?或者更建议使用选项2?或者,如果还有另一种直接的方法,我也愿意听。
目前我们的持久层是PostgreSQL。
感谢您的输入!