想要改进这个问题吗? 更新问题,以便 editing this post 提供事实和引用来回答它.
关闭 6 年前。
我正在考虑使用 mongodb 或 ravendb 之类的数据库来存储大量股票报价数据,并想知道与 Sql Server 之类的标准关系相比,这是否可行。
数据不会是真正的关系数据,而是几个巨大的表。我还想我可以按分钟/小时/天/周/月等对数据行求和/最小/最大行数,以便更快地计算。
示例数据: 500 个符号 * 60 分钟 * 60 秒 * 300 天...(我们存储的每条记录:日期、开盘价、最高价、最低价、收盘价、交易量、开盘整数 - 所有小数/ float )
你们觉得呢?
最佳答案
自从 2010 年提出这个问题以来,已经发布了多个数据库引擎或开发了专门处理时间序列(例如股票价格数据)的功能:
对于 MongoDB 或其他面向文档的数据库,如果您以性能为目标,建议是 contort your schema组织以秒为键的对象中的刻度(或以分钟为单位的对象,每分钟是另一个 60 秒的对象)。使用专门的时间序列数据库,您可以简单地查询数据
SELECT open, close FROM market_data
WHERE symbol = 'AAPL' AND time > '2016-09-14' AND time < '2016-09-21'
I was also thinking that I could sum/min/max rows of data by minute/hour/day/week/month etc for even faster calculations.
使用 InfluxDB,这非常简单。以下是获取每日最小值和最大值的方法:
SELECT MIN("close"), MAX("close") FROM "market_data" WHERE WHERE symbol = 'AAPL'
GROUP BY time(1d)
您可以按时间间隔分组,可以是微秒 (u
)、秒 (s
)、分钟 (m
)、小时(h
)、天 (d
) 或周 (w
)。
在存储和查询大量股票报价数据方面,时间序列数据库比面向文档的数据库更好。
https://stackoverflow.com/questions/3207563/
相关文章:
javascript - Mongodb v4.0 事务,MongoError : Transact
mongodb - CouchDB 或 MongoDB 中的多对多关系
mongodb - 通过 REST API 公开 mongodb 查询是否安全?
mongodb-csharp 驱动程序 - 如何将属性保存为引用而不是嵌入?
node.js - 在 Mongoose 中更新具有不同值的多个元素
mongodb - 使用 ReadPreference=NEAREST 的 Mongos 路由