株式市場データのための良いリレーショナルデータベース設計は何ですか?

StackOverflow https://stackoverflow.com/questions/6071888

  •  07-09-2020
  •  | 
  •  

質問

メッセージには、見積もり、取引の2種類があるとします。どちらも異なるフィールドを持ちます。例えば貿易は単一の価格しかありません。引用符は入札と尋ね値の両方を持っています。私は次のような何かをするために時間順にプロセスメッセージが欲しい:

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

私の問題は2つのメッセージが異なる形式であるため、同じデータベーステーブルに入れることができません。同じデータベーステーブルにそれらを取得できない場合は、どのように順次処理するのですか?適切なデザインのためのアイデア?

役に立ちましたか?

解決

答えはあなたが行っているものとあなたのアプリがデータストリームに接続されている場所に完全に依存します。

1つの極端な場合は、単にAPIから引っ張っている顧客の引用符に答え、基本的にキャッシュを実装している可能性があります。この場合、2つのテーブルが大丈夫です。

高周波取引プラットフォームのリアルタイムの引用符を監視している可能性があります。その場合、スループットはおそらくデータベースを使用して除外されます(allegraphなどのLisp周辺で構築されたものがもっとあるかもしれません。定期的に集約統計を収集すること以外は適切です。

他のヒント

短い答えは、株式市場やその他の時系列データのための「実際にはない」、Berkley DBやMongoのようなキーバリューストアはかなり良いです。また、NetCDF(http://en.wikipedia.org/wiki/netcdf)のようなデータフォーマットは、長期的に実行される可能性があります。それはまたあなたが望むどんな種類のアクセスにかかり、あなたがどのくらいの時間を保存したいのかによって異なります。

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

kdb + / q

はダニデータにとって非常に良い選択肢です。主要銀行によって使用されます。

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

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top