我在决定如何将这些数据存储在数据库中时遇到问题。关于最佳方法的任何建议吗?我可能对数据库一无所知。
我的数据格式如下,但不是4,列数约为240,因此每个日期都有240个与之关联的唯一值:
Date/Time 200,00 202,50 205,00
2010.11.12 13:34:00 45,8214 43,8512 41,5369
2010.11.12 13:35:00 461,9364 454,2612 435,5222
此外,行与DataSite关联。
我的第一个想法是要有一个像这样的表:DataID(pk),DataSiteID,ParameterID,Date,Value,以及在DataSite,Parameter和Date上的索引。ParameterID引用另一个存储输入列标题的表(200,00 202,50 205,00 ...)。
我的第二个想法只是简单地拥有一个包含所有240多个列的表。我想出了其他几种方法,但是它们也很不令人满意。
我的第一个解决方案有一个问题(不是一个很大的问题,但我不喜欢它),因为该输入行中的所有240个值都将重复使用Date和DataSiteID,所以使用了很多时间多余的空间。
每年大约会有40gb的数据传入(采用上述文本格式),并且将通过DataSite,Parameter和Date搜索数据。传入的数据量很可能在一年左右的时间内翻两番。
有什么好主意吗?谢谢,詹姆斯
编辑:这是时间序列数据,列是在不同波长下的测量值。想要在相对窄的波长范围内分析数据。将来某个时候可能还会添加额外的波长。
编辑:谢谢你们的回答,我真的很感激:)我想我可能可以找到时间用500GB左右的测试数据进行一些实验。我会把任何结论寄回去;)