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

Développement Web en Java Discussion :

Plusieurs connexions à une seule base de données


Sujet :

Développement Web en Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Septembre 2009
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 32
    Points : 34
    Points
    34
    Par défaut Plusieurs connexions à une seule base de données
    Bonjour,

    J'ai developpé une application J2EE (Servlets et JSP), sous Tomcat et ayant accès à une base de données Access.

    J'ai mis mon application en intranet, de cette façon, toute personne peut l'utiliser. Comment pourrai-je assurer que l'application continuera à être utilisée, même avec un très grand nombre d'utilisateurs, sachant que l'accès à la base de données doit être établi à chaque requête-réponse ?

    Vos suggestions seront les bienvenues.

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    je suis pas le seul sur le forum je pense qui te le dira:


    J2EE, access, et grand nombre d'utilisateurs, ca n'a pas à être dans la même phrase. Access et une base de données de type prototypage, a ne pas utiliser en production. Ce n'est pas réputé pour etre performant. Ensuite, par rapport à java, pour utiliser access t'as du utiliser un bridge ODBC-JDBC, qui est clairement indiqué comme non recommandé par sun (mais on a pas le choix avec access, y a que ca)

    Donc recommandation
    1) remplace access par une vraie base de donnée (mysql, postgres, oracle, sqlserver, db2 ibm, hsql, derby....) ce sont pas les choix qui manquent
    2) pour la connection DB, ne fait pas une connection à chaque requete, utilise du connection pooling. Etablir une connection, sur un oracle surchargé, ca peut mettre jusqu'à 2 seconde, alors que les requetes s'executent dessus en quelques millisecondes.
    3) calibre (par essais/erreur) la taille de ton HTTP thread de tomcat. Plus de thread = plus de requetes simultanées mais aussi = des requetes plus lentes
    4) en fonction du calibrage de tes thread HTTP, calibre ton conneciton pool jdbc.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Septembre 2009
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 32
    Points : 34
    Points
    34
    Par défaut
    Merci infiniment pour les recommandations; j'en tiendrai compte.

    Est-ce que le problème des accès multiples se posera encore, avec l'utilisation d'une base de données SQL Server ?

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    le problème n'est pas dans les accès multiples (les transactions servent justement à isoler ça) mais dans les performance de access qui n'est pas prévu pour autre chose que du prototypage ou des application minis rikiki. Bref il a mauvaise réputation pour pleins de raisons. Avant d'investire dans un serveur payant (sql server) regarde si t'en a vraiment besoin par rapport aux serveurs gratuits. Ce sont souvent des très gros serveur qui ont aussi des frais de maintenance.

    Note, si tu lit a fond la doc JDBC/ODBC tu verra qu'elle ne permet pas des connection simultanée, et ça c'est pas lié à access mais à odbc.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Septembre 2009
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 32
    Points : 34
    Points
    34
    Par défaut
    Le problème du serveur SQL Server ne se poserait pas, dans mon cas.

    Citation Envoyé par tchize_ Voir le message
    Note, si tu lit a fond la doc JDBC/ODBC tu verra qu'elle ne permet pas des connection simultanée, et ça c'est pas lié à access mais à odbc.
    J'avoue être vraiment confuse concernant ce dernier point.

  6. #6
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    C'est indiquée ici:

    http://java.sun.com/products/jdbc/faq.html#14

    en cas de multithreading (ce qui est le cas des application J2EE), tu perd tous les avantage du multithreading à cause des blocs synchronizé -> tout fonctionne comme si une seule connection était active à la fois.

  7. #7
    Nouveau membre du Club
    Inscrit en
    Septembre 2009
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 32
    Points : 34
    Points
    34
    Par défaut
    J'ai saisi le point.

    Autre question, y aurait-il un moyen d'y remédier ? ou bien une alternative ?

  8. #8
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    jete les ai données, les alternatives, utiliser autre chose que access.

  9. #9
    Nouveau membre du Club
    Inscrit en
    Septembre 2009
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 32
    Points : 34
    Points
    34
    Par défaut
    (à moitié résolu)

    Merci bien; et bonne journée.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Connexion entre 2 serveurs avec une seule base de données
    Par komat dans le forum Administration
    Réponses: 1
    Dernier message: 02/07/2013, 08h55
  2. Connexion à une deuxième base de données sous Eclipse
    Par mmollinari dans le forum Développement Web en Java
    Réponses: 1
    Dernier message: 25/07/2012, 10h21
  3. Plusieurs sites - 1 seul base de donnée
    Par yuyu599 dans le forum Langage
    Réponses: 9
    Dernier message: 13/04/2011, 12h53
  4. Plusieurs devices de données pour une seule base
    Par The Wretched dans le forum Sybase
    Réponses: 4
    Dernier message: 12/10/2006, 09h27
  5. Connexion à une autre base de donnée Access
    Par Pitou5464 dans le forum Access
    Réponses: 4
    Dernier message: 12/09/2006, 12h25

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