0

私はPythonで財務アプリケーションを構築して、セキュリティ価格の時系列分析を行っています(とりわけ)。重労働は、主にNumpy、SciPy、およびpandasを使用してPythonで実行されます(pandasにはSQLiteとMySQLのインターフェイスがあります)。結果を表示するためのWebインターフェイス付き。数百GBのデータがあります。

パフォーマンス、データへのアクセスのしやすさ(クエリ)、Pythonとのインターフェースの観点から、データベースに適したオプションは何でしょうか。SQLite v。MySQLの一般的な長所と短所に関する投稿を見てきましたが、Pythonアプリケーションに固有のフィードバックを探しています。

4

3 に答える 3

10

正解はPostgreSQLです。ほとんどのプラットフォームでは、MySQL と同じくらい簡単にインストールできますが、より優れたデータベースであり、大量のデータを処理する場合は特に MySQL が改善されます。

私は、SQLite で数百 GB のデータを処理することを考え始めませんでした。

于 2013-01-24T19:53:18.827 に答える
0

SQLiteは組み込みデータベースには最適ですが、一度に複数のプロセスによるアクセスが必要なものにはあまり適していません。このため、アプリケーションで真剣に受け止めることはできません。

MySQLははるかに優れた代替手段です。また、Postgresがさらに優れたオプションになることにも同意します。

于 2013-01-24T20:16:09.460 に答える
0

多くの「研究」指向の時系列データベース ロードでは、データをクライアントにコピーして通常のプログラミング言語を使用して分析するよりも、データベースで多くの分析を行う方がはるかに高速です。ネットワーク経由で 10G をコピーすると、ディスクから読み取るよりもはるかに遅くなります。

リレーショナル データベースは時系列操作をネイティブにサポートしていないため、MySQL と SQLite の両方で、有価証券の価格から有価証券のリターンのような単純なものを生成することは不可能か非常に困難です。

Postgres には、他のいくつかのリレーショナルに似たデータベースと同様に、ウィンドウ操作があります。トレードオフは、1 秒あたりのトランザクション数が少ないことです。他の多くの人は K または Q を使用します。

私が見た金融サービス Web アプリは、複数のデータベースを使用していました。生データは、複数のインデックスが作成され、柔軟性を考慮して設計された「研究」データベースに保存され、Web アプリはメモリ内キャッシュと高速 RDB と直接対話しました。トレードオフは、データを「研究」データベースから「本番」データベースにコピーする必要があることでした。

于 2013-01-25T03:00:58.427 に答える