Database 股票市场数据的良好关系数据库设计是什么?

Database 股票市场数据的良好关系数据库设计是什么?,database,quantitative-finance,Database,Quantitative Finance,假设有两种类型的消息,QUOTE和TRADE。两者都有不同的领域。例如,贸易只有一个价格。报价包括出价和要价。我希望按时间顺序处理消息,以便执行以下操作: if (QUOTE) { ... } if (TRADE) { ... } 我的问题是这两条消息的格式不同,因此我无法将它们放入同一个数据库表中。如果无法将它们放入同一个数据库表中,如何按顺序进行处理?有没有合适的设计思路?简而言之,对于股市和其他时间序列数据来说,“不太可能”,像Berkley DB或Mongo这样的关键值存储相当不错。此

假设有两种类型的消息,QUOTE和TRADE。两者都有不同的领域。例如,贸易只有一个价格。报价包括出价和要价。我希望按时间顺序处理消息,以便执行以下操作:

if (QUOTE) {
...
}
if (TRADE) {
...
}

我的问题是这两条消息的格式不同,因此我无法将它们放入同一个数据库表中。如果无法将它们放入同一个数据库表中,如何按顺序进行处理?有没有合适的设计思路?

简而言之,对于股市和其他时间序列数据来说,“不太可能”,像Berkley DB或Mongo这样的关键值存储相当不错。此外,还有一种数据格式,如NetCDF(http://en.wikipedia.org/wiki/NetCDF)从长远来看,这可能会更好地为您服务。它还取决于您想要的访问类型和存储时间


您没有指出您正在对数据做什么,这应该更能说明您对存储的选择。例如,一个高速交易应用程序与一个历史批处理系统(Hadoop+NetCDF将是最好的)有不同的存储权衡。YMMV

简而言之,对于股票市场和其他时间序列数据来说,“不是真的”,像Berkley DB或Mongo这样的关键价值存储相当不错。此外,还有一种数据格式,如NetCDF(http://en.wikipedia.org/wiki/NetCDF)从长远来看,这可能会更好地为您服务。它还取决于您想要的访问类型和存储时间


您没有指出您正在对数据做什么,这应该更能说明您对存储的选择。例如,一个高速交易应用程序与一个历史批处理系统(Hadoop+NetCDF将是最好的)有不同的存储权衡。YMMV

答案完全取决于你在做什么以及你的应用程序插入数据流的位置

在一个极端情况下,您可能只是回答从API获取的客户报价,基本上实现了缓存。在这种情况下,两张桌子就可以了


在另一个极端,您可能会监控高频交易平台的实时报价,在这种情况下,吞吐量可能根本不需要使用数据库(围绕lisp构建的东西,例如allegrograph,可能更合适),除了定期收集汇总统计数据。

答案完全取决于你在做什么以及你的应用程序插入数据流的位置

在一个极端情况下,您可能只是回答从API获取的客户报价,基本上实现了缓存。在这种情况下,两张桌子就可以了


在另一个极端,您可能会监控高频交易平台的实时报价,在这种情况下,吞吐量可能根本不需要使用数据库(围绕lisp构建的东西,例如allegrograph,可能更合适),除非定期收集汇总统计数据。

Kdb+/q

对于勾号数据来说是一个非常好的选择。主要银行使用

这是关于那件事的信息


您可以安装试用版并使用它。

Kdb+/q

对于勾号数据来说是一个非常好的选择。主要银行使用

这是关于那件事的信息

您可以安装一个trail版本并使用它