継続的なデータ ストリームがあります。私はリアルタイムでデータに少量の処理を行いたいと思っています (ほとんどの場合、圧縮、最後からいくつかのデータをロールアウトするなど、必要なことは何でも)、データを保存します。おそらく問題ありません。HDF5 ファイル形式は素晴らしいはずです! OOC データ、問題ありません。ピタブル。
今トラブル。時折、データがまだ収集されているように、完全に別のプロセスとして、データ (注文分) を含む時間のかかる計算を実行したいと思います。これには、私が書いているのと同じファイルを読むことが含まれます。
人々はこれをどのように行いますか?
もちろん、あなたが現在書いているファイルを読むのは難しいことですが、過去には、人々がある種の巧妙な解決策、または少なくとも自然な回避策を検討するほど十分に話題になっているようです。
部分的な解決策:
HDF5-1.10.0 には SWMR - Single Write, Multiple Read という機能があるようです。これはまさに私が欲しいもののようです。この最新バージョンの Python ラッパーが見つからないか、存在する場合でも、Python が適切なバージョンの hdf5 と対話することができません。ここでのヒントは大歓迎です。Conda パッケージ マネージャーを使用しています。
ときどきフラッシュされて大規模なデータベースに追加されるバッファへの書き込みを想像できます。これを行っている間にデータが失われないようにするにはどうすればよいですか?
これも計算コストがかかるように思えますが、おそらくそれを回避することはできません。
- より少ないデータを収集します。それの何が楽しいの?