私はプロジェクトに取り組んでおり、データ取得、データ処理、および GUI 視覚化 (pyqt と pyqtgraph を使用) をすべて Python で実行したいと考えています。各部分は原則として実装されていますが、さまざまな部分がうまく分離されていないため、ベンチマークとパフォーマンスの向上が困難です。質問は次のとおりです。
ソフトウェアの異なる部分間で大量のデータを処理する良い方法はありますか?
次のシナリオのようなものを考えます。
- 取得:いくつかのデバイスからデータを取得し、他の場所からアクセスできるデータ コンテナーに保存します。(この部分は、処理と視覚化の部分がなくても実行できるはずです。データ ポイントを失いたくないので、この部分は時間が重要です!)
- 処理:データ コンテナーからデータを取得して処理し、結果を別のデータ コンテナーに格納します。(また、この部分は、GUI を使用せずに、取得後に遅延して実行できるはずです (たとえば、先週記録したプロセス データ)。)
- GUI/視覚化:コンテナーから取得および処理されたデータを取得し、視覚化します。
- データの保存: データの特定の部分をディスクに保存/ストリーミングできるようにしたいと考えています。
「大量のデータ」とは、1 秒あたり約 200 万のデータ ポイント (16 ビット) を処理し、場合によっては保存する必要がある配列を取得することを意味します。
この大量のデータを適切に処理するために使用できる Python のフレームワークはありますか? たぶん、私が接続できるデータサーバーの形で。