【发布时间】:2012-05-22 06:26:06
【问题描述】:
我正在寻求一些关于将时间序列信息组织到数据库中的建议。我当前的实现是 PostgreSQL,所有符号都有一个表。 获取自定义信息很慢,但很容易附加。 根据来自here 的信息,我想通过为每个符号创建一个单独的表来复制数据库的结构。在仔细考虑之后,我意识到根据某些标准查询多个符号对我来说有点困难,例如:
SELECT * FROM "all_symbols" WHERE closePrice >= 50
因为我需要以某种方式组合这些表格以进行搜索(这可能比我想象的要容易得多)。由于我在单独的表中记录了每个时间段每个符号的一些统计分析(如 stddev),因此我还会将表的数量增加一些不切实际的数量。
我的目标是拥有快速高效的数据库,我可以在其中以任何可能的方式读取和组合数据以进行分析和研究。
差点忘了提到我正在研究开源实现。
提前谢谢你。
【问题讨论】:
-
您尝试过哪些方法来使您的原始架构运行得更快?列上有索引吗?使用正确的数据库设计,您不需要为每个符号单独的表。
-
我的主表构造方式是:
|date|time|symbol|the rese其中日期/时间/符号是主键。据我所知,Postgres 中的 pk 会自动编入索引。 -
使用面向文档的数据库(如 MongoDB)是否更好?
-
我猜你也想要一个符号索引。
-
TimGL,我建议你再问一个问题。发布表结构,解释您正在运行的不同类型的查询、更新的频率和类型,并询问最佳方法是什么。
标签: sql database database-design nosql time-series