我一直在使用SQL Server存储几十万个对象的历史时间序列数据,每天观察大约100次.我发现查询(给我在时间t1和时间t2之间的对象XYZ的所有值)太慢(对于我的需要,慢是超过一秒).我按时间戳和对象ID索引.
我接受了使用像MongoDB这样的键值商店的想法,但我不确定这是否是对这种事物的"适当"使用,我找不到任何提及使用这样的东西时间序列数据的数据库.理想情况下,我可以执行以下查询:
在时间t1和时间t2之间检索对象XYZ的所有数据
执行上述操作,但每天返回一个日期点(第一个,最后一个,关闭到时间t ...)
检索特定时间戳的所有对象的所有数据
应该对数据进行排序,理想情况下,编写新数据以及更新现有数据应该快速.
似乎我希望按对象ID和时间戳查询可能需要以不同的方式索引数据库的两个副本以获得最佳性能......任何人都有建立像这样的系统的经验,具有键值存储,或HDF5,还是其他什么?或者这在SQL Server中完全可行,我只是不做对吗?