私はARM9で実行されている組み込みLinuxに取り組んでいます。ファイルシステムは ext4 タイプ (rw、sync、noatime、data=writeback) です。unsync を有効にして、Write-Ahead-Loggin (WAL) モードで SQLite3 データベースに書き込み/読み取りを行うプロセスを実装しました。電力損失が発生した場合、DB の同期とチェックポイントによってすべてのデータを保存するのに約 2 秒かかります。しかし、それでも、私の場合は本当に良くないDBが壊れていることがあります。
私の目的のために新しい DB エンジンを書きたいと思います。DB が 1 つのファイルに保持される SQLite と同様の方法で。ただ、この場合、ヘッダーデータを1セクターに書き込み、残りのデータを少なくとも2セクター後に書き込むことを考えているため、DBのサイズは大きくなりますが、データを書き込むときに、ヘッダーを台無しにすることはありませんインデックスなどを保持するファイルの。そうすれば、SQLiteの動作と同様に、すべてのファイルではなく、最後のデータのみが破損します。
私の質問は、私のアプローチが正しいかどうかです。