1000 シンボル分の株式取引データを保存したいと考えています。データは実際にはテキスト ファイルから変換されるため、挿入や更新は必要ありません。読み取り専用アクセスのみが必要です。
データは基本的に次のようにグループ化されます: 各シンボルには多くのレコードがあります: {timestamp, price, quantity}
、各レコードは取引を表します。
1 つのシンボルのデータのおおよその上限は 5 レコード/秒、各営業日で 8 時間、つまり 5x60x60x8 = 1 日あたり 144K です。つまり、1K シンボルは 1 日あたり 144M レコードを生成します。
データに対するほとんどの操作は次のようになります。
- 日付 D1、時刻 T1 から日付 D2、時刻 T2 までの期間のシンボルのすべてのレコードを教えてください
- 期間 [D1, T1...D2, T2] の価格または数量の最小/最大/平均を求める
ここで質問です。この場合、データベースの最適な設計は何でしょうか?
- シンボルのすべての取引を 1 つのテーブルに保存できますか? ただし、この場合、テーブルはすぐに大きくなりすぎます。
- 日/週/月ごとに別のテーブルを作成しますか? つまり、2013-10-25_ABC (ABC - シンボル名) です。この場合、1 日/1 週間/1 か月あたり 1,000 個の新しいテーブルを取得できます。
- または、そのような場合はプレーンテキストファイルで十分でしょうか? たとえば、すべてのシンボル データを 2013-10-15 フォルダーの下のファイルとして保持すると、各フォルダーに 1K ファイルが生成されます。
データベースは、MS SQL または MySQL のいずれかです。合計期間 - 最長 5 年。ありがとうございました!