我正在尝试找到一种存储时间序列数据的好方法。我的用例如下:
每年大约100,000个数据集。每个数据集包含约600行和40或更多列。 (即:每个数据集的不同列)。数据集按完整的块上传(即,所有600行位于ime)
我可以访问以下内容:
数据将以两种方式使用:
1)经常(即:每天约500次)提取与一个特定项目相关的〜15个数据集,然后显示该数据的一些图表。这将在ruby-on-rails应用程序中。
2)偶尔(每月一次)将所有特定类型的数据集提取到类似jupyter的笔记本中进行分析。
我看到了三种存储数据的不同方式:
1)使用ActiveStorage将数据存储在平面文件中
2)将数据作为json或文本存储在varchar(max)列中
3)将数据作为单独的行存储在一个非常大的多态表中,该表具有索引以提取属于特定数据集的数据。
对于我的特定用例,以上三种方法中的哪一种将导致最低的服务器负载?应用程序和数据库服务器位于不同的硬件上。