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écisions SGBD Discussion :

[Performances BDD] Où effectuer les traitements ?


Sujet :

Décisions SGBD

  1. #1
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 860
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 860
    Points : 3 445
    Points
    3 445
    Par défaut [Performances BDD] Où effectuer les traitements ?
    Bonjour,

    J'ai le souhait de réaliser une application internet. Le langage est non défini pour l'instant, disons PHP ou JSP/Servlet/EJB. Le but de cette application est de concurrencer d'autres applications existantes sur le marché, et sans dévoiler le secteur qui m'interesse, le but est de proposer une application plus rapide et supportant une plus grosse montée en charge que les applications déjà existantes.

    Pour ma problématique, prenons un exemple, la concaténation : Est-il plus rapide de la faire directement dans le SELECT en retournant la ligne concatenée, ou plutôt de la faire sur le serveur d'application en concatenant les colonnes retournées par le SELECT ? Je ne parle pas encore de problèmes de charge, il est évident que dans un cas, la base de données travaillera plus.

    Est-ce que faire une procédure complexe sur le serveur de bdd est plus rapide de faire le même traitement coté serveur d'application ?

    Est-ce qu'il y a des bases de données plus performantes aux niveau traitements que d'autres ? Par exemple, comment se compare MySQL à Oracle, en ce qui concerne la concaténation massive ?

    Finalement, est-ce que les bdd ont un système de cache suffisament performant pour optimiser les traitements du style concaténation si ils sont demandés à de nombreuses reprises ? Y-a-t'il des différences à ce niveau là entre les différentes base de données du marché ?

    J'ai l'impression ( peut-être fausse ) que les bases de données peuvent faire des traitements beaucoup plus rapidement que les serveurs d'applications dans presque tous les cas. Je compte donc faire un maximum de traitement du coté de la bdd, et décharger au maximum le serveur d'application, pensez-vous que cette orientation est valable, selon votre expérience ?

    Merci d'avance,
    K

  2. #2
    Membre habitué Avatar de ddams
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2002
    Messages : 147
    Points : 148
    Points
    148
    Par défaut Re: [Performances BDD] Où effectuer les traitements ?
    Citation Envoyé par KiLVaiDeN
    Je compte donc faire un maximum de traitement du coté de la bdd, et décharger au maximum le serveur d'application, pensez-vous que cette orientation est valable, selon votre expérience ?
    Pour ma part, je pense que positionner les traitements sur le serveur de base de données apporte très souvent un gain de performance. De plus, de cette manière on élimine beaucoup de code des pages : on obtient ainsi un appli propre et très maintenable.

    Cependant cette solution a souvent un inconvénient majeur : La portabilité de l'appli sur un autre SGBD. En fonction, de tes traitements et des fonctions utilisées dans les procédures stockées et requêtes celà peut devenir assez galère.

  3. #3
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 100
    Points : 28 391
    Points
    28 391
    Par défaut
    Cependant cette solution a souvent un inconvénient majeur : La portabilité de l'appli sur un autre SGBD. En fonction, de tes traitements et des fonctions utilisées dans les procédures stockées et requêtes celà peut devenir assez galère.
    En effet, et le plus sur est alors de coder ses requêtes et procédures en SQL standard, en évitant toutes les extensions propres au SGBD utilisé.
    C'est quelquefois un peu plus lourd mais toujours plus économique quand on change de SGBD (expérience : Interbase -> Oracle -> DB2 puis choix du SGBD à l'installation).

Discussions similaires

  1. Réponses: 0
    Dernier message: 18/06/2012, 19h25
  2. comment importer ou exporter des BDD afin de les reutiliser!?
    Par saada1978 dans le forum Bases de données
    Réponses: 4
    Dernier message: 11/05/2006, 17h36
  3. [XSLT] Comment optimiser les traitements XML/XSL ?
    Par thibaut06 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 24/03/2006, 16h39
  4. INSERT fréquents : éviter les traitements inutiles ?
    Par tempirate dans le forum SQL Procédural
    Réponses: 7
    Dernier message: 05/03/2006, 18h25
  5. [MEA] bonne modelisation pour bdd carte pour les jeune
    Par madmortal dans le forum Schéma
    Réponses: 27
    Dernier message: 17/08/2004, 11h57

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