2011-05-20 11 views
1

QUOTEとTRADEの2種類のメッセージがあるとします。両方とも異なるフィールドを持っています。例えば、貿易は単一の価格しか持っていない。 QUOTEには入札価格と価格があります。私は次のような何かをする時間順にプロセスメッセージをしたい:株式市場データの良いリレーショナルデータベース設計とは何ですか?

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

私の問題は、私は同じデータベーステーブルにそれらを得ることができないので、2件のメッセージが異なるフォーマットであるです。私が同じデータベーステーブルにそれらを得ることができない場合、どのように順番に処理するのですか?適切なデザインのための任意のアイデア?

答えて

1

答えは、あなたがやっていることとアプリがデータストリームに接続されている場所によってまったく異なります。 1つの極端な

は、あなたは単にあなたがAPIから引っ張って、基本的にキャッシュを実装しようとしている顧客の引用に答えるかもしれません。この場合、2つのテーブルは正常です。

高頻度取引プラットフォームのリアルタイムの見積もりを監視している可能性があります。この場合、スループットはおそらくデータベースを使用しないことになります(アレルグローブのような、より適切な)、集計統計を定期的に収集することを除いて。

0

短い答えは、バークレーDBやモンゴのようなキーと値のストアはかなり良いですが、株式市場や他の時系列データの場合は本当にない 'です。また、NetCDF(http://en.wikipedia.org/wiki/NetCDF)のようなデータ形式は、長期的にはより良く役立つでしょう。また、どのような種類のアクセスと保存する必要があるかによって異なります。

あなたが何よりもストレージの選択肢を知らせるべきデータ、で何をしていたかを示すものではありませんでした。たとえば、高速取引アプリケーションは、過去のバッチ処理システム(Hadoop + NetCDFが優れている)とは異なるストレージトレードオフを持つことになります。 YMMV

0

KDB +/Q

ティック・データのための非常に良いオプションです。主要銀行によって使用されます。

hereは、そのことについての情報です。

トレイルバージョンをインストールして再生することができます。