【问题标题】:How to store large timeseries objects in a relational database? [closed]如何在关系数据库中存储大型时间序列对象? [关闭]
【发布时间】:2015-03-21 03:18:49
【问题描述】:

时间序列对象时间戳是不规则的。刻度以秒为单位。关键数据是过去 10 天的数据,因此这些数据访问速度应该非常快,并且必须以实时 html/js 图表的形式呈现(图表将通过异步请求自动更新)。超过 10 天的数据也应该被存储,但可以是某种压缩形式(blob?文件?什么?)。

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

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

【问题讨论】:

  • 你看过时间序列数据库吗?我想知道为什么它必须是相关的。是不是因为 db 客户端连接要求,即有时应用程序开发人员只想使用 jdbc/odbc。
  • 我正在使用 python/django。你能推荐一些吗?
  • 有几个列表,但您可能想查看此列表。每个条目都有一个简短的摘要:erol.si/2015/01/…

标签: database relational-database time-series


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-16
    • 2010-11-26
    • 1970-01-01
    • 2022-11-17
    • 2013-11-26
    • 2013-12-08
    • 2012-02-07
    • 1970-01-01
    相关资源
    最近更新 更多