私が開発しているLinux組み込みアプリケーションでは、時々発生するいくつかのイベントを記録する必要があります。これらのレコードはMTDフラッシュデバイスに保存され、一度書き込まれると、レコードを変更したり効率的な検索を行ったりする必要はありませんが、データをユーザーに表示するには読み取りアクセスが必要です。大きな問題は、適切なシャットダウンシーケンスがないと、いつでも電源が切れてしまう可能性があることです。これらのイベントが発生する頻度は非常に遅い場合があります(日/週)が、それらのいくつかは一度に発生します。イベントごとに保存されるデータは、日付、時刻、いくつかの短いテキスト文字列、およびいくつかの整数のように強く入力されます。
現在、私はjffs2とSQLiteに基づくソリューションを継承しましたが、DBファイルが破損することがあるため、最適とはほど遠いものです。これが発生すると、ファイル全体が読み取れなくなり、jffs2、SQLite、フラッシュセクターのバグ、または電源が間違ったタイミングで切断されたことが原因であるかどうかを理解する方法がありません。
この種の問題を解決するのに役立つライブラリまたはファイルシステム/ライブラリの組み合わせはありますか?または、CSVのような形式のテキストファイルを使用する必要がありますか?