Je voudrais savoir si le stockage de pdfs dans une table de base de données est une bonne idée à long terme. Voici une description du problème:Pour utiliser un blob ou non (mysql + coldfusion)
J'ai un client qui a des centaines de clients qui téléchargent de nombreux fichiers pdf comme preuves. Ces fichiers pdf vont de très petites (< 100K) à 10MB. Ces fichiers peuvent potentiellement être téléchargés plusieurs fois car ils sont des preuves pour un seul projet (c'est-à-dire proof1.pdf, proof2.pdf etc ..) PDF pour chaque client doit rester séparé, et PDF pour chaque projet doit rester séparé pour chaque client.
Actuellement, il est configuré où les fichiers sont téléchargés directement dans un dossier créé pour chaque client pour chaque projet. C'est OK, mais prend de l'espace et trouver des fichiers peut être un peu un cauchemar. Comme je l'ai dit, plusieurs preuves seront téléchargées pour chaque projet et chaque client.
La meilleure solution à laquelle je puisse penser est de fournir une interface qui téléchargera les fichiers PDF directement dans une table db qui gardera trace de l'identifiant du client, de l'identifiant du projet et de la preuve. Ceci fournit une sécurité bien meilleure et permet d'obtenir tous les fichiers PDF de chaque client pour le projet X.
Un outil de nettoyage de base de données sera développé pour supprimer les enregistrements qui sont plus anciens que la période spécifiée. Ne pas continuer à croître pour toujours, mais je suis inquiet de la performance hit (s'il y en a un) et d'autres points négatifs que je pourrais négliger.
Donc, dans l'ensemble, est-ce une bonne idée ou devrais-je trouver une meilleure façon de gérer cela dans le système de fichiers?
L'espace CDN est peu coûteux. J'utiliserais la solution de chomp soutenue par CDN de Rackspace. –
+1: Votre suggestion d'utiliser le db pour garder une trace de l'endroit où le fichier est stocké sur la base de données était ma première idée, et pourrait encore être la voie à suivre. Merci pour l'info. – wblakenc