使用结构变体订购时间序列数据/股票市场数据

时间:2012-05-14 18:25:38

标签: sql database database-design nosql time-series

我正在研究如何将时间序列信息组织到数据库中。我目前的实现是PostgreSQL,所有符号都有单表。 获取自定义信息的速度很慢,但很容易追加。 根据{{​​3}}的信息,我希望通过为每个符号创建一个单独的表来复制数据库的结构。在仔细考虑之后,我意识到根据以下标准查询多个符号会有点困难:

SELECT * FROM "all_symbols" WHERE closePrice >= 50

因为我需要以某种方式将这些表组合起来进行搜索(这可能比我想象的要容易得多)。由于我在一个单独的表中每个时间帧的每个符号记录一些统计分析(如stddev),我也会增加一些不切实际的数量。

我的目标是拥有快速高效的数据库,在这里我可以通过任何可能的方式阅读和组合数据进行分析和研究。

几乎忘了提到我正在研究开源实现。

提前谢谢。

2 个答案:

答案 0 :(得分:0)

在GitHub上看看这个项目,它是一个基于Microsoft SQL Server 2012的免费开源市场数据库:

http://github.com/kriasoft/market-data

答案 1 :(得分:0)

closePrice上添加索引,并使用两者而不是>=

SELECT * FROM all_symbols
WHERE closePrice between 50 and <some large value>

单侧范围通常不使用索引,但两者之间应使用索引。