IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Persistance des données Java Discussion :

performance : liste d'image VS image.zip


Sujet :

Persistance des données Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 85
    Points : 48
    Points
    48
    Par défaut performance : liste d'image VS image.zip
    Bonjour à tous

    Je me pose une question de performance en terme de rapidité d'exécution et maintenance futur.

    Voici le sujet :

    A partir d'un compte, un utilisateur pourra s'il le souhaite déposer des images à son enregistrement. Il pourra en supprimer aussi. En rajouter d'autre plus tard.

    A savoir des à présent, qu'il sera plus courant de récupérer l'ensemble des images pour les afficher que celui d'en supprimer une ou d'en ajouter une par la suite (à part si l'utilisateur est perfectionniste et en modifie souvent le contenu).

    Je me pose donc cette question.

    Je développe en java/Spring/hibernate/Jpa/hibernate/postGreSql

    Table utilisateur : Nom - Prénom

    Est-il préférable de créer une table Image, pour l'ensemble des utilisateurs, (on rajoute quelque chose du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    @Column(name = "images")
    @OneToMany(mappedBy="image", cascade=CascadeType.ALL, targetEntity=Image.class, fetch=FetchType.Eager)
    List<byte[]> listImage
    dans la table Utilisateur )

    Table image : id(autoGenereate - Long) , idUtilisateur (Long), image (oid)

    de ce fait :

    // Pour chaque insertion d'image
    image.setIdUtilisateur(1);
    image.setImage(byte[]);
    em.persist(image)

    // Supprimer
    em.remove(image);

    - Il faudra parcourir l'ensemble de la table Image pour récupérer l'ensemble des images de l'utilisateur (oui ou non ? : "listImage" s’arrête des qu'il à trouvé tout, ou indexe-t-il , ou parcours-t-il tout pour chaque recherche d'image ?)
    - Supprimer ou ajouter une image ce fait très simplement (et rapidement ?)

    ------- OU ------

    Créer un zip du coté client(IHM) (fait automatiquement par développement lors d'une demande d'enregistrement d'images) et l'envoyer au serveur.

    d'où :

    - Insérer juste dans la table utilisateur le zip qui devient :

    Table utilisateur : Nom - Prénom - file

    - Pour visualiser les images, on récupère le zip par "utilisateur.getFile" ( on le cast en (zip) ou le laisse en byte[]) l'envoie à l'IHM qui dé-zippe est affiche le contenu.

    - Contrainte (ou pas) l'insertion et la suppression d'image nécessite de récupérer l'ensemble du zip et de le modifier (traitement plus long que dans l'idée d'une table Image (oui ou non ?) )
    En fait, je me demande si le fait de faire un 'utilisateur.getFile()' est couteux dans le sens ou le zip ferai 5MO, cela prend un certain temps, une certaine bande passante (je ne suis expert bdd...).

    Je m'imagine un rendu dès lors ou il yaurai 1000 photo, 10000 ...


    Voici donc la confrontation, si vous aviez une idée de performance ou maintenabilité ? (ps : limiter un nombre d'image s'impose ?)

    Une table Image pour l'ensemble des utilisateurs ou Un zip d'image propre à un utilisateur ?

    Merci de votre point vue

  2. #2
    Membre habitué
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mars 2004
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2004
    Messages : 102
    Points : 156
    Points
    156
    Par défaut
    C'est une obligation de mettre les images en base ?

Discussions similaires

  1. Liste des sites avec images libres de droits
    Par SteelBox dans le forum Imagerie
    Réponses: 19
    Dernier message: 06/01/2011, 15h38
  2. Liste d'aperçu d'images
    Par Temp71 dans le forum C++Builder
    Réponses: 5
    Dernier message: 11/05/2008, 17h15
  3. Liste des sites avec images libres de droits
    Par Marc Lussac dans le forum Webdesign & Ergonomie
    Réponses: 0
    Dernier message: 26/03/2007, 21h42
  4. Treeview liste d'images + champ image : très lent, comment faire ?
    Par Cazaux-Moutou-Philippe dans le forum WinDev
    Réponses: 3
    Dernier message: 01/11/2006, 17h59
  5. 1 image + 1 image = 1 image
    Par dleu dans le forum Delphi
    Réponses: 2
    Dernier message: 24/05/2006, 20h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo