Bonjour,
Éternel débat : stockage des fichiers dans la base ou le système de
fichier ? http://wiki.postgresql.org/wiki/BinaryFilesInDB
Si vous préférez stocker les fichiers dans la base, je n'y vois pas
d'inconvénient. J'ai personnellement toujours enregistré les fichiers à
part dans le système de fichier mais dans le contexte de Cantharella, le
stockage dans la base suivrait une certaine logique.
L'autre question qui se pose alors est : en bytea ou en BLOB (oid) ?
Dans notre cas de fichier peu volumineux (cf. limitation de taille
définie dans les spécs.), les deux alternatives peuvent convenir. La
principale différence étant que pour bytea, les données restent dans une
colonne de la table tandis que pour les BLOB, les données sont
externalisées dans une table système et référencées par un oid.
D'un côté, Bytea semblent être plus facile à mettre en place mais
pourrait engendrer certains problèmes de performance lors de requête sur
l'ensemble des documents (preload), de l'autre BLOB semble garder
toujours de bonnes performances (on demand) même avec des données plus
volumineuses mais nécessite de mettre en place un système de suppression
automatique des BLOB lorsque la référence (oid) est supprimé (trigger,
rule).
Adrien
Le 14/02/2013 03:23, Eric Chatellier a écrit :
> Bonjour,
>
> Je viens de mettre à jour le serveur avec le début des
> interfaces de gestion et visualisation des documents (seulement
> pour les molécules avant de le généraliser).
>
> Concernant le stockage des fichiers attachés, peut-on
> les stocker directement dans la base de données ?
>
> Cela simplifierais la gestion et la cohérence pour l'ajout
> et la suppression.
>
> Techniquement, le modèle de données serait typé en byte[]
> voire en InputStream (voire si vraiment ca ne fonctionne pas
> en java.sql.Blob) et annoté en @Lob
>
--
Adrien Cheype
Ingénieur en Systèmes d'Information
Service « Informatique Scientifique et Appui aux Partenaires du Sud »
Direction du Système d'Information (DSI)
http://www.ird.fr/dsi/http://www.ird.fr/informatique-scientifique/
INSTITUT DE RECHERCHE POUR LE DEVELOPPEMENT
BP A5 - 98848 Nouméa - Nouvelle Calédonie
Tél. +687 260 789