Question générale: ou base de données Système de fichiers?
-
03-10-2019 - |
Question
Je veux créer un petit système de gestion des documents. Il y a plusieurs utilisateurs qui stockent leurs fichiers. Chaque fichier qui est téléchargé contient des informations sur quel utilisateur téléchargé et le contenu du document lui-même. Dans une vue sont affichés tous les fichiers d'un utilisateur spécifique, triés par date.
Quel serait mieux:
-
donnant les documents un nom ou métadonnées (XML) qui contiennent la date et l'utilisateur (et itérer à travers eux pour obtenir les métadonnées) ou ...
-
donnant les fichiers un nom aléatoire / unique et métadonnées dans un magasin DB? quelque chose comme ceci:
date | user | filename
Que diriez-vous et pourquoi? Le langage de programmation utilisé est Java et la base de données est MySQL.
La solution
Je choisirais la DB. DB sont de plus rapide, plus sûr (vous pas par hasard supprimer des fichiers importants) et plus facile. En outre, c'est le but d'un DB: gestion de grands supports de données une. Les systèmes de fichiers sont pour stocker des fichiers.
Mais le choix est bien sûr de vous.
Mais je vous garantis: (DB > XML) == true
des performances et (DB >= XML) == false
dans filesize
Autres conseils
Je choisirais la deuxième option pour le stockage des métadonnées. MySQL gérer les accès concurrents, et la recherche dans DB est beaucoup plus rapide que itérer un fichier XML.
Alors, quelle serait, si la quantité de données est très faible, disons max. 30 fichiers par utilisateur, et disons 20 utilisateurs -> 600 fichiers au maximum. comment jugez-vous la solution pour créer un dossier séparé pour chaque utilisateur et donner les fichiers un nom unique utilisateur dépendants? Ainsi, vous pouvez naviguer througth le système de fichiers facilement. dans ce contexte, serait un sens de faire DB pour cette faible quantité de documents?