2011-05-20 84 views
1

假設有兩種類型的消息,QUOTE和TRADE。兩者都有不同的領域。例如,TRADE只有一個價格。 QUOTE同時具有出價和要價。我想處理消息的時間順序來執行類似以下:股市數據的良好關係數據庫設計是什麼?

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

我的問題是這兩條消息都在不同的格式,所以我不能讓他們到同一個數據庫表。如果我無法將它們放入同一個數據庫表中,我該如何順序處理?任何適合設計的想法?

回答

1

答案完全取決於你在做什麼以及你的應用程序插入數據流的位置。

在某種極端情況下,您可能只是回答您從API中獲取的客戶報價,並基本實現緩存。在這種情況下,兩張表都很好。

另一方面,您可能正在監控高頻交易平臺的實時報價,在這種情況下,吞吐量可能根本排除使用數據庫(圍繞lisp構建的東西,如allegrograph,可能是更合適),除了定期收集彙總統計數據。

0

簡短的回答是,'不是真的'對於股市和其他時間序列數據來說,像Berkley DB或Mongo這樣的關鍵價值商店是相當不錯的。另外,像NetCDF(http://en.wikipedia.org/wiki/NetCDF)這樣的數據格式可能會長期爲您提供更好的服務。這也取決於你想要什麼樣的訪問和你想要存儲多少時間。

你沒有說明你在處理數據,這應該告訴你存儲的選擇。例如,高速交易應用程序與歷史批處理系統(其中Hadoop + NetCDF會很棒)將有不同的存儲權衡。 YMMV

0

KDB +/Q

是蜱數據非常好的選擇。主要銀行使用。

here是關於這方面的信息。

你可以安裝一個跟蹤版本並使用它。