私はHadoopとそれに関連するさまざまなプロジェクトについて楽しく学んでおり、現在、マーケットティックデータの大規模なコレクションを保存するシステムを構築するために2つの異なる戦略を考えています.Hadoop/HDSFの両方を始めたばかりです.と HBase ですが、これらのテクノロジを使用して後でジャンクする必要のないシステムの種を植えるのを誰かが手伝ってくれることを願っています。以下は、いくつかのクエリとデータの使用例を含む私のシステムと要件の概要です。最後に、私が読んだ小さなドキュメントからの最良のアプローチについての私の現在の考えです。これは自由回答形式の質問であり、洞察力に富み、最良の回答を受け入れることができれば幸いです。以下の点のいずれかまたはすべてについて自由にコメントしてください。- ダンカン・クレブス
システム要件 - システムの過去のバック テスト、過去のデータのチャート作成、将来のデータ マイニングにデータ ストアを活用できること。いったん保存されると、データは常に読み取り専用になり、高速なデータ アクセスが望まれますが、バック テストの際には必須ではありません。
静的スキーマ- 非常に単純です。フィードから 3 種類のメッセージを取得したいと考えています。
- 日付、曜日、時刻を含むタイムスタンプ
- Symbol、timestamp、ask、askSize、bid、bidSize、出来高を含む見積もり (約 40 列のデータ)
- Symbol、timestamp、price、size、exchange を含む取引 (約 20 列のデータ)
データ挿入の使用例- データのライブ マーケット ストリームから、またはブローカー API を介したルックアップから
データ クエリのユース ケース- 以下は、データを論理的にクエリする方法を示しています。
Get me all Quotes,Trades,Timestamps for GOOG on 9/22/2014
Get me all Trades for GOOG,FB BEFORE 9/1/2014 AND AFTER 5/1/2014
Get me the number of trades for these 50 symbols for each day over the last 90 days.
The Holy Grail - MapReduce は以下のようなユースケースに使用できますか??
分散エージェントを介して生の市場データからメタデータを生成します。たとえば、データベースに保存されているすべての株式とすべてのセッションについて、1 分間隔で平均取引量を計算するジョブを作成します。この値を計算する必要がある株式とセッションを伝える、各株式/セッションのエージェントを持つジョブを作成します。(これが MapReduce でできることですか???)
エージェントのクラスパスに独自のユーティリティ コードを追加して、たとえば上記のユース ケースでその値を中央レポやメッセージング サーバーに公開できますか? エージェントを OSGI バンドルとしてデプロイできますか?
毎朝、市場前取引の前に実行されるさまざまなタイプのメトリックとスコアに対して、さまざまなタイプのエージェントを作成しますか?
高頻度取引
高頻度取引システムのコンテキストで Hadoop を使用した経験を誰かが共有できるかどうかも興味があります。このテクノロジーを始めたばかりの私の最初の感覚は、Hadoop は大量の過去のティック データを保存および処理するのに最適であるということです。誰かがこれをリアルタイム取引に使用している場合は、もっと学びたいと思います! - ダンカン・クレブス