2016-05-16 9 views
1

サーバからのHTTPリクエストを介して構造化数値データ(浮動小数点数2〜10小数点以下のスペース)を取得しています。データは、一連の数値として入力され、配列/リストに変換されます。私は各データセットを自分のコンピュータ上にローカルに保存して、それをさらに操作できるようにしたいと思います。Pythonの計算効率の良いデータ格納方法

これらのデータセットは非常に多く収集される必要があるため、.txtファイルに入ってくる各データセットを書き込むだけでは効率的ではありません。一方、私は、mongodb、PythonからSQLインターフェイスなどのさまざまなソリューションがあることを認識しています...しかし、私はどちらを使うべきか、このシナリオにとって最も適切で効率的なものは不明です。

また、作成されるデータベースは、MATLABなどの異なる言語からのインターフェイスとクエリが可能でなければなりません。

+0

どのような種類のデータを扱っていますか?どれくらいの大きさですか? –

+0

温度データ。各データセットは、完全な24時間の測定期間の1つを表します。全体的に約300万のデータセットがあり、それぞれのセットの測定頻度に応じて各セットに約500〜1000の数字があります@AnthonyE –

答えて

1

もしもどこかに保存してMATLABがそれを扱うことができるのであれば、データベースsupported by matlabから選択し、そのデータベースのPython用の適切なドライバをインストールします。

Pythonのすべてのデータベースには標準のAPI(dbapiと呼ばれています)がありますので、データベースを一様に扱う方法があります。

このデータを後で使用する方法を教えてくれていないので、詳細を説明することは困難です。


アイデアは、代わりに有していると私は( 実行分析とそれに特定の数学演算を実行)私は、後でローカルでそれを操作することができるように、基本的に 私のマシンにすべてのデータをダウンロードしたいということです をサーバーから絶えず呼び出す必要があります。

この目的のために、MATLABでサポートされているすべてのデータベースがPythonでサポートされているため、テキストファイルからMATLABでサポートされている任意のデータベースへの任意のストレージメカニズムを使用できます。

データを「テキスト」として保存し、アプリケーション側(つまり、MATLAB側)で数値計算を行うことができます。または、必要な精度に応じて数値/浮動小数点/小数としてデータを格納することもできます。これにより、データベース側で計算を行うことができます。

テキストとして保存してアプリケーション側で計算したいのであれば、最も簡単なオプションはスキーマレスなのでmongodbです。あなたはJSONとしてデータを格納しています - これは、Webから取得されている形式かもしれません。

数学関数やその他の機能(地理空間計算など)を利用したい場合は、使い慣れた伝統的なデータベースを使用することをお勧めします。スキーマを作成し、着信データオブジェクトごとにデータ型を定義する必要があります。データベースのクエリ機能を利用するために適切に格納します。

+0

私は本質的に私のマシンにすべてのデータをダウンロードしたいので、私はそれをサーバから絶えず呼び出さなくても、後でローカルで(分析を実行し、数学的演算を実行して)ローカルで操作することができます。 @ BurhanKhalid –

+0

あなたは伝統的なデータベースとは何を意味するのですか?あなたは例を挙げることができますか? @BurhanKhalid –

+0

Oracle、SQL、PostgreSQLなどリレーショナルデータベース。 –

1

peeweeのような軽量のORMを使用することをお勧めします。これは、いくつかのSQLデータベースを保存方法として使用できます。それから、あなたが望むデータベースを選ぶことになります。最も単純なデータベースはsqliteですが、PostgreSQLやMySQLのような別のデータベースへの切り替えが十分に速くないと判断する必要はありません。

ORMの利点は、Python構文を使用してSQLデータベースとやりとりでき、SQLを習得する必要がないことです。

1

あなたはHDF5を考えましたか?これは数値データにとって非常に効率的で、PythonとMatlabの両方でサポートされています。

関連する問題