Oracle
 sql >> Base de données >  >> RDS >> Oracle

Stockage des images téléchargées :doit-il être stocké sur le serveur ou dans la base de données ?

Oui, vous pouvez utiliser des BLOB pour les données binaires dans Oracle. (Et de nombreuses autres bases de données.) Nous les utilisons ici pour stocker des fichiers PDF.

Je l'ai vu faire dans les deux sens. Stockez les images dans la base de données ou stockez les images dans le système de fichiers, puis enregistrez le nom du fichier dans la base de données.

Avantages du stockage dans la base de données

Tout est là dans la base de données. Vous sortez un disque, l'image associée est là avec.

Vous obtenez l'intégrité des données entre le fichier et ses données associées (en supposant une bonne conception de schéma, bien sûr.)

Une opération logique pour obtenir des données et une image.

Je trouve qu'il est plus difficile et plus coûteux de mettre à l'échelle une base de données pour contenir beaucoup de données binaires que l'alternative au système de fichiers.

Inconvénients du stockage dans la base de données

Tous les outils ne facilitent pas la navigation dans les images.

Impossible d'accéder facilement aux images à partir du Web.

Selon la taille et la quantité des fichiers, vous pouvez vous retrouver avec beaucoup de données brutes dans certaines de vos tables.

Le chargement et le stockage des données blob ne sont pas toujours simples. (J'ai récemment écrit un type de données personnalisé pour Hibernate, par exemple, pour gérer nos PDF blobbés.)

Avantages du système de fichiers

Probablement plus efficace pour lire et écrire les fichiers.

Si vous souhaitez diffuser l'image sur le Web, vous pouvez le faire directement à partir du système de fichiers.

Plus facile de parcourir les images pendant le débogage, et de nombreux outils gratuits pour le faire.

Je pense qu'il est plus facile de faire évoluer une application lors de la mise en place de blobs dans le système de fichiers.

Inconvénients du système de fichiers

Problèmes d'intégrité/cohérence des données. Changez quelque chose dans la structure du fichier, et vous avez une autre étape à faire dans la base de données.

C'est une autre chose à sauvegarder.

Plusieurs opérations logiques (lecture à partir de la base de données, lecture à partir du système de fichiers) pour obtenir l'image et les données.