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 SQL Server Discussion :

Procédures stockées OU ORM


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté Avatar de M_Makia
    Homme Profil pro
    dev
    Inscrit en
    Février 2008
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : dev
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 121
    Par défaut Procédures stockées OU ORM
    Bonjour à toutes et à tous,

    Je souhaiterais avoir votre avis sur l'utilisation des procédures stockées et des ORM.

    • Quels sont les avanatges et inconveniants de l'un et de l'autre ?
    • Est-ce bien de faire une couche d'acces aux données entierement avec des procédures stockéés ?
    • Que pouvez-vous me dire concernant la maintenabilité et les performances ?
    • Est-ce qu'il peut y avoir des problèmes de montée en charge avec un ORM ( plusieurs centaines de personnes connectées à l'application)


    Merci de me faire partager vos experiences.

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Citation Envoyé par M_Makia Voir le message
    Quels sont les avanatges et inconveniants de l'un et de l'autre ?
    Je ne pense pas que ce soit une bonne idée de les comparer, puisqu'ils sont plutôt complémentaires. La procédure stocké (SP) est un objet lié à ta base de données. L'ORM te permet en quelque sorte d'abstraire la structure de la base de données sous forme d'entités que tu peux ensuite utiliser facilement et directement dans ton application. Ca te permet notamment de ne pas avoir à manipuler de SQL au sein de ton application, l'ORM le génère pour toi.

    Citation Envoyé par M_Makia Voir le message
    Est-ce bien de faire une couche d'acces aux données entierement avec des procédures stockéés ?
    La couche d'accès aux données se situe au-dessus de la base de données, donc la question n'a pas vraiment de sens. Après oui tu peux appuyer ta DAL sur un ensemble de SP.

    Citation Envoyé par M_Makia Voir le message
    Que pouvez-vous me dire concernant la maintenabilité et les performances ?
    La question est assez vague, sachant que la réponse peut être différente selon ton projet et l'architecture cible... Je t'invite à lire ces quelques liens pour te faire ta propre idée :
    - Pros and cons of using an ORM
    - Pros and cons of an ORM

    Citation Envoyé par M_Makia Voir le message
    Est-ce qu'il peut y avoir des problèmes de montée en charge avec un ORM ( plusieurs centaines de personnes connectées à l'application)
    Ca dépend des performances que tu attends. D'après certains bloggueurs qui ont procédé à des tests, si tu recherches des performances ultimes (je dis bien ultimes), rien ne vaut une DAL écrite en utilisant ADO.NET sans ORM. Sinon, l'ORM fournit également de très bonnes performances pour peu que tu aies bien architecturé ta DAL...

    Voici un peu de lecture :
    - Test effectué par Microsoft
    - Performance Considerations (Entity Framework)
    - Is Entity Framework suitable for High Traffic website?
    - Entity Framework VS LINQ to SQL VS ADO.NET with stored procedures?
    Tout cela étant bien sûr à mettre en perspective en fonction de ton projet, et de l'architecture cible et des contraintes que tu pourrais avoir Aucune réponse n'est clairement tranchée.
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  3. #3
    Membre expérimenté Avatar de M_Makia
    Homme Profil pro
    dev
    Inscrit en
    Février 2008
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : dev
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 121
    Par défaut
    Je te remercie beaucoup pour ces informations.

  4. #4
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Je voudrais également ajouter que le fait d'utiliser des SP peut te permettre de déléguer certaines opérations lourdes (par exemple des calculs) au serveur de base de données, plutôt que de les effectuer sur ton serveur applicatif.

    Mais là encore, tout dépend de ton architecture et du type de projet
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  5. #5
    Membre expérimenté Avatar de M_Makia
    Homme Profil pro
    dev
    Inscrit en
    Février 2008
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : dev
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 121
    Par défaut
    Ok, merci pour cette précision.

    Sinon, l'ORM fournit également de très bonnes performances pour peu que tu aies bien architecturé ta DAL...
    Peux-tu me conseiller pour une bonne architecture ?

  6. #6
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Citation Envoyé par M_Makia Voir le message
    Peux-tu me conseiller pour une bonne architecture ?
    Là comme ça, je ne peux t'orienter que vers une architecture standard, qui va répondre à 80% des situations...

    Voici donc un bon exemple d'architecture standard :
    - High Performance Data Access Layer Architecture Part 1
    - High Performance Data Access Layer Architecture Part 2
    - High Performance Data Access Layer Architecture Part 3

    Si tu rencontres des problèmes avec, c'est que tu te situes dans les 20% restants, avec un ou des cas particuliers. Dans ce cas il faudra envisager de rajouter du multithreading, et/ou un système de cache, ou tout autre technique permettant d'optimiser les performances.
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  7. #7
    Membre expérimenté Avatar de M_Makia
    Homme Profil pro
    dev
    Inscrit en
    Février 2008
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : dev
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 121
    Par défaut
    Merci !
    je vais regarder ca.

Discussions similaires

  1. [1.x] Exécuter une procédure stockée avec l'ORM propel
    Par megaloplex dans le forum Symfony
    Réponses: 8
    Dernier message: 31/07/2010, 13h47
  2. passage d'un nom de table dans une procédure stockée
    Par thierry V dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 26/07/2010, 16h48
  3. [Pervasive SQL ] procédure stockée
    Par magellan dans le forum Autres SGBD
    Réponses: 2
    Dernier message: 25/10/2002, 13h17
  4. Explication procédure stockée
    Par underworld dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 09/09/2002, 10h51
  5. [Comparatif] Procédures stockées, triggers, etc.
    Par MCZz dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 28/08/2002, 12h27

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