2

QUOTE と TRADE の 2 種類のメッセージがあるとします。両者はフィールドが異なります。たとえば、TRADE には単一の価格しかありません。QUOTE にはビッド価格とアスク価格の両方があります。メッセージを時間順に処理して、次のようなことをしたい:

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

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

4

3 に答える 3

1

答えは、何をしているか、およびアプリがデータ ストリームにプラグインする場所に完全に依存します。

極端な例としては、API から取得した顧客の見積もりに答えて、基本的にキャッシュを実装しているだけかもしれません。この場合、2 つのテーブルで問題ありません。

もう一方の極端な例として、高頻度取引プラットフォームのリアルタイムの相場を監視している可能性があります。この場合、スループットはおそらくデータベースの使用をまったく除外します (allegrograph などの Lisp を中心に構築されたものがより適切である可能性があります)。ただし、集計統計を定期的に収集する場合は除きます。

于 2011-05-20T12:41:27.697 に答える
-1

簡単に言えば、「そうではない」です。株式市場やその他の時系列データには、Berkley DB や Mongo などのキー バリュー ストアが適しています。また、NetCDF (http://en.wikipedia.org/wiki/NetCDF) のようなデータ形式は、長期的にはより適切に機能する可能性があります。また、必要なアクセスの種類と保存したい時間によっても異なります。

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

于 2011-05-20T12:36:34.693 に答える