我正在处理的大量数据无法容纳在内存中。行是时间戳,列是某种东西(例如传感器),值是在特定时间戳(行)上特定传感器(列)的值。考虑订购1000个传感器并订购半百万个时间戳。
由于我的问题有些复杂,因此对我来说,处理等时时间戳数据是最佳选择(您只需要对此相信即可)。但是,要阅读,我想选择一个传感器(列)并获得一个时间序列。
我的问题是:什么是合适的文件格式来存储它?
我尝试过的事情:将处理后的数据写入sqlite数据库,写入时间戳的表中,时间戳分为两行:一列指示传感器,另一列指示时间戳中传感器的值。问题是阅读。由于我想选择一个特定的传感器作为时间的函数,因此这种情况需要很长时间才能退出数据库。即使在索引之后,这也将花费很长时间,因为给定记录的给出方式,单个传感器的值将分散在十亿条记录中。
我目前正在使用sqlite数据库存储结果,如上所述,但是接下来需要执行一个步骤,之后将每个传感器按时间序列提取并将其存储到HDF5文件中。这行得通,但需要很长时间,因此我必须将其整夜运行。
所以我的问题是:是否有一种文件格式可以像读取列一样有效地写入行?