1

16.66ms ごとに 4096 バイトの速度でデータを生成しています。このデータは常に保存する必要があり、ランダムに読み取られます。リレーショナル データベースにあればいいのですが、あまりにも多くの挿入を行うと、使用しているプロセッサ (ARM11) のオーバーヘッドが大きくなりすぎると思います。そして、SQLite のようなものが提供するすべての機能は必要ありません。

実際、このようなものをファイルに書き込むだけで魅力的に思えます。ほとんどの場合、大量のデータを書き込むだけですが、実際にデータを読み取る必要がある場合は、必要なブロックをシークするだけで済みます。ただし、途中で問題が発生することはわかっています。特に、これを 1 日実行したままにしておくと、ギガバイトのデータになってしまいます。

これは私の問題に対する非常に単純な解決策のように思えます。より良い解決策について考え始めることができるように、他の誰かに教えてもらう必要があります。ありがとう。

4

1 に答える 1

0

より良い回答を得るには、さらに詳細を追加する必要があります。ユースケースは何ですか、ACID は必要ですか、書き込み先のストレージは何かなど。

お使いの OS は何ですか。固定サイズのレコードのみを書き込みますか。ランダム アクセスを行い、これが書き込み速度であると言うだけでは、あまりにも具体的ではありません。

あなたは 240 kb/s で書き込んでおり、これは 20 GB/日です。

レコードのサイズを固定し、データを追加するだけで Linux を使用する場合は、プレーン ファイルが最適です。ストレージが十分に高速な場合は、fsync 呼び出しを使用することを検討してください。

于 2010-08-25T17:33:59.220 に答える