假设有两种类型的消息,QUOTE和TRADE。两者都有不同的领域。例如,TRADE只有一个价格。 QUOTE既有买入价也有卖出价。我希望按时间顺序处理消息,以执行以下操作:
if (QUOTE) {
...
}
if (TRADE) {
...
}
我的问题是两条消息的格式不同,所以我无法将它们放到同一个数据库表中。如果我无法将它们放入同一个数据库表中,我该如何按顺序处理?任何合适设计的想法?
答案 0 :(得分:1)
答案完全取决于您正在做什么以及您的应用程序插入数据流的位置。
在某种程度上,您可能只是在回答您从API中提取的客户报价,并基本上实现了缓存。在这种情况下,两个表都没问题。
在另一个极端,您可能正在监控高频交易平台的实时报价,在这种情况下,吞吐量可能会排除使用数据库(围绕lisp构建的东西,例如allegrograph,可能更多)适当的),但定期收集汇总统计数据除外。
答案 1 :(得分:0)
简短的回答是,“不是真的”对于股票市场和其他时间序列数据,像Berkley DB或Mongo这样的关键价值商店非常好。此外,像NetCDF(http://en.wikipedia.org/wiki/NetCDF)这样的数据格式从长远来看可能会更好地为您服务。它还取决于您想要的访问类型以及您希望存储的时间。
您没有说明您对数据做了什么,这应该告诉您对存储的选择比什么都重要。例如,高速交易应用程序将具有与历史批处理系统(其中Hadoop + NetCDF将很棒)不同的存储权衡。 YMMV
答案 2 :(得分:0)