私は、複数のトランスデューサ(センサー/デバイス)に接続されたUSBからデータを取り込むC#デスクトップアプリケーションを構築しています。各装置/センサは、非常に高いサンプリングレート(> 1000/s)で同時にデータをコンピュータにリアルタイムで送信し、対応するデータベーステーブル(例えば、温度テーブルなどに格納された温度データ)に挿入する。どのような種類のデータベースが高速USB挿入に適していますか?
どのようなデータベースがそのようなアプリケーションに適していますか?オープンソースですか? MySQL? SQLite? 高速データの挿入中にデータが失われないように、データベースにどのような設定を行う必要がありますか?
あなた自身に質問する必要がある最初の質問は、本当にすべてのデータを保存する必要がありますか? 1秒間に1000を超えるサンプル(ほとんどのデータベースが高速のマシンであれば簡単に処理できます)では、集計値がオプションであるかどうかは疑問です。 – Wolph
残念ながら、私はすべてのデータをリアルタイムで保存する必要があります。私の心配は、複数のデバイスと同時にデータベースに挿入するデータの複数のスレッドがある、私はどのデータベースがそれを処理できるかどうかはわかりません... – KMC
それはデータベースに依存しますが、適切なデータベースは遅延書き込みをサポートしています。 PostgreSQLの場合:http://www.postgresql.org/docs/current/static/runtime-config-wal.html#GUC-SYNCHRONOUS-COMMIT ディスクの生のスループットについては、あなたの書き込みはバッファリングされます。 – Wolph