Je développe un produit qui, dans le cadre de son fonctionnement, doit suivre un grand nombre de fichiers / répertoires. L'idée est de stocker les informations statistiques dans une base de données puis, au démarrage, de créer des montres pour chaque fichier. Les fichiers modifiés seront mis en file d'attente (dans la base de données) pour une synchronisation de groupe avec une base de données distante. Ils seront synchronisés par ordre de priorité, un nombre compris entre 1 et 10.
Informations sur la base de données:
- <100 000 entrées d'informations statistiques
- Base de données entière lue au démarrage, seul le chemin du fichier est nécessaire
- Les fichiers en file d'attente auront un champ prioritaire (rien d'autre ne doit être recherché par)
- Les insertions peuvent être lentes
J'ai trouvé quelques bases de données qui, je pense, fonctionneront, mais je ne sais pas laquelle serait la meilleure:
- Redis - stocke le chemin du fichier comme clé, les données statistiques comme valeur; la file d'attente serait une liste
- MongoDB - plus d'options de requête que Redis, mais toujours rapide
Je pense qu'une base de données NoSQL serait la meilleure solution ici, car il n'y a pas trop de logique relationnelle en cours et la taille totale des données n'est pas trop grande (quelque chose comme <100 Mo, plus proche de <30 Mo). J'ai regardé SQLite car il semble assez simple pour être intégré dans une application installable.
Comme il s'agit d'une application distribuée pour les utilisateurs finaux et non d'un serveur à charge élevée, la base de données n'a pas à prendre en charge de nombreux utilisateurs simultanés. La priorité principale ici est de trouver une base de données dont le modèle a le plus de sens.
Donc la question, quelle base de données serait la plus applicable à cette situation?
Existe-t-il également d'autres bases de données qui auraient plus de sens pour une application comme celle-ci?