Dans une application intégrée Linux que je développe, il est nécessaire d'enregistrer certains événements qui se produisent de temps en temps. Ces enregistrements sont enregistrés sur un périphérique Flash MTD et, une fois écrits, il n'est pas nécessaire de les modifier ou de faire des recherches efficaces, mais un accès en lecture est requis pour montrer les données à l'utilisateur. Un gros problème est que la puissance peut disparaître à tout moment, sans une séquence d'arrêt appropriée. La fréquence de ces événements peut être très lente (jours/semaines), mais plusieurs d'entre eux se produiront en même temps. Les données à enregistrer pour chaque événement sont fortement typées: date, heure, quelques chaînes de texte courtes et plusieurs entiers.Enregistrement de données de type Blackbox
Actuellement, j'ai hérité d'une solution basée sur jffs2 et SQLite qui est loin d'être optimale car le fichier DB est parfois corrompu. Quand cela arrive, le fichier entier devient illisible et il n'y a aucun moyen de comprendre s'il a été causé par un bogue dans jffs2, ou dans SQLite ou si le secteur flash était mauvais, ou si l'alimentation a été coupée au mauvais moment.
Y at-il une bibliothèque ou une combinaison de système de fichiers/bibliothèque qui peut mieux m'aider à résoudre ce genre de problème? Ou devrais-je simplement utiliser un fichier texte au format CSV?