Database design 多时间序列数据的表设计

Database design 多时间序列数据的表设计,database-design,time-series,Database Design,Time Series,我有200多个独立的时间序列数据(每个数据代表一个变量),这些数据是从不同的源/RESTAPI调用收集的 每个变量的频率不同。示例温度数据的频率非常高,但状态数据的频率非常低 我正在寻找关于存储这些数据的可伸缩表设计的建议。如果我将所有数据存储在一个以时间戳为键的表中,我认为该表将有很多空值。根据您的描述,我的第一个想法如下: Create Table Data_Type ( ID Int Identity , Data_Type_Description VarChar(100)

我有200多个独立的时间序列数据(每个数据代表一个变量),这些数据是从不同的源/RESTAPI调用收集的

每个变量的频率不同。示例温度数据的频率非常高,但状态数据的频率非常低


我正在寻找关于存储这些数据的可伸缩表设计的建议。如果我将所有数据存储在一个以时间戳为键的表中,我认为该表将有很多空值。

根据您的描述,我的第一个想法如下:

Create Table Data_Type
(
    ID Int Identity
    , Data_Type_Description VarChar(100)
)

Create Table Data_Values
(
    ID Int Identity
    , Data_Value_Time_Stamp TimeStamp
    , Data_Type_ID Int       -- foreign key to Data_Type
    , Value Numeric(17, 4)   -- I'm guessing here
)

这有意义吗?

根据你的描述,我的第一个想法是:

Create Table Data_Type
(
    ID Int Identity
    , Data_Type_Description VarChar(100)
)

Create Table Data_Values
(
    ID Int Identity
    , Data_Value_Time_Stamp TimeStamp
    , Data_Type_ID Int       -- foreign key to Data_Type
    , Value Numeric(17, 4)   -- I'm guessing here
)

这有意义吗?

是的,这是一个很好的方法。在我的脑海中,只有一个问题是,每个时间序列值都是不同的数据类型。我必须将它们存储为字符串,并在查询时进行数据类型转换。是的,这是一种很好的方法。在我的脑海中,只有一个问题是,每个时间序列值都是不同的数据类型。我必须将它们存储为字符串,并在查询时进行数据类型转换。