当前位置:  开发笔记 > 数据库 > 正文

文档数据库是否适合存储大量Stock Tick数据?

如何解决《文档数据库是否适合存储大量StockTick数据?》经验,为你挑选了1个好方法。

我正在考虑使用像mongodb或ravendb这样的数据库来存储大量的股票数据,并想知道与标准关系(如Sql Server)相比这是否可行.

数据实际上不是关系数据,而是几个巨大的表格.我也在想我可以按分钟/小时/天/周/月等来加/最小/最大行数据,以便进行更快的计算.

示例数据:500个符号*60分钟*60秒*300天......(每个记录我们存储:日期,开放,高,低,关闭,交易量,开放 - 所有小数/浮点数)

那你觉得怎么样?



1> Dan Dascales..:

自2010年提出此问题以来,已经发布了多个数据库引擎或开发了专门处理时间序列的功能,例如股票报价数据:

InfluxDB-看到我的其他答案

卡桑德拉

对于MongoDB或其他面向文档的数据库,如果您以性能为目标,则建议是扭曲您的模式,以组织以秒为单位的对象中的滴答声(或以分钟为单位的对象,每分钟是另一个具有60秒的对象)。使用专门的时间序列数据库,您可以轻松查询数据

SELECT open, close FROM market_data
WHERE symbol = 'AAPL' AND time > '2016-09-14' AND time < '2016-09-21'

我还以为我可以按分钟/小时/天/周/月/月等方式汇总/最小/最大行数,以便更快地进行计算。

使用InfluxDB,这非常简单。以下是获取每日最小值和最大值的方法:

SELECT MIN("close"), MAX("close") FROM "market_data" WHERE WHERE symbol = 'AAPL'
GROUP BY time(1d)

您可以按时间间隔进行分组,时间间隔可以是微秒(u),秒(s),分钟(m),小时(h),天(d)或星期(w)。

TL; DR

与用于存储和查询大量股票报价数据的面向文档的数据库相比,时间序列数据库是更好的选择。

推荐阅读
依然-狠幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有