如何在关系数据库中存储大型时间序列对象?

时间:2015-01-22 10:53:21

标签: database relational-database time-series

timeseries-object时间戳是非常规的。蜱虫只需几秒钟。关键数据是过去10天,所以这些数据应该非常快速地访问,并且必须在实时的html / js图表中显示(图表将通过异步请求自动更新)。也应存储超过10天的数据,但也可以采用某种压缩形式(blob?file?what?)。

对于每个用户,我每年可能需要数百万条数据。所以,我的问题是(a)可扩展性,(b)打开时间序列和计算统计数据(中值等)的简便性和速度。我们决定用户只能查看过去10天的实时时间戳值。

对于该项目,我们将使用django和python / pandas库。

1 个答案:

答案 0 :(得分:0)

我们使用PostgreSQL处理tick数据。 为了使查询保持快速,我们首先按日期对表格进行分区,然后按字母顺序对表格进行分区(仪器以一个分区中的字母A-B-C-D开头,另一个分区中为E-F-G-H ......) 在时间戳上添加索引和ticker-id,以及在一天结束时对表进行常规的VACUUM清理和聚类也很有帮助,但是到目前为止,分区在性能方面提供了最大的增长。