1

時系列情報をデータベースに整理するためのアドバイスを検討しています。私の現在の実装は、すべてのシンボルに対して単一のテーブルを持つPostgreSQLです。カスタマイズされた情報を取得するのは遅いですが、追加するのは非常に簡単です。ここからの情報に基づいて、シンボルごとに個別のテーブルを作成してデータベースの構造を複製したいと思いました。もっと注意深く考えた後、次のようないくつかの基準に基づいて複数のシンボルをクエリするのは少し難しいことに気付きました。

SELECT * FROM "all_symbols" WHERE closePrice >= 50

検索のためにこれらのテーブルを何らかの方法で組み合わせる必要があるためです(私が思っているよりもはるかに簡単かもしれません)。また、シンボルごと、時間枠ごとの統計分析(stddevなど)を別のテーブルに記録するため、テーブルの数を非現実的な量だけ増やすことになります。

私の目標は、分析と調査のために可能な方法でデータを読み取って組み合わせることができる、高速で効率的なデータベースを作成することです。

私がオープンソースの実装を検討していることを言及するのをほとんど忘れていました。

前もって感謝します。

4

2 に答える 2

0

にインデックスを付けclosePrice、 の代わりに between を使用します>=

SELECT * FROM all_symbols
WHERE closePrice between 50 and <some large value>

片側範囲は通常インデックスを使用しませんが、その間はインデックスを使用する必要があります。

于 2012-12-11T18:43:10.110 に答える
0

GitHub でこのプロジェクトを見てみましょう。これは、Microsoft SQL Server 2012 をベースにした無料のオープン ソース マーケット データ データベースです。

http://github.com/kriasoft/market-data

于 2012-12-11T18:38:09.333 に答える