Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server > Développement
Développement Forum d'entraide sur le Transact-SQL, le CLR, les procédures stockées, les triggers, les requêtes SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/04/2011, 15h28   #1
Membre chevronné
 
Inscription : juillet 2006
Messages : 1 194
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 1 194
Points : 746
Points : 746
Par défaut [2005] BROKER Technique de la mort qui tue (ou pas?!)

Bonjour.

J'ai dernièrement achevé un développement lors duquel j'ai employé une technique sans doute fort originale mais dont je ne suis aujourd'hui pas encore convaincu du bien fondé.
J'utilise un SERVICE BROKER et ses messages pour éviter l'emploie de transactions lorsque certains query que je sais concurrents sont envoyés au serveur.

Je fais cela parce car sans transaction d'un niveau de contrainte assez élevé (REPEATABLE READ au minimum), des deadlock ou des (re)lectures sales pouvaient se produire mais hélas que l'acquisition de ces transactions étaient très coûteuses.
Maintenant, je bloque la "partie sensible" de mes queries (WAITFOR... RECEIVE...) tant que la pile de message reste vide et je place un message dans la pile dès que les queries sont sortis de leur "partie sensible".

En environnement de dev, ça fonctionne ainsi qu'en prod.
Mais je me demande si il n'y a pas un risque ou un contre coût que je sous-estime.

Vous en pensez-quoi ?
Sergejack est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/04/2011, 17h22   #2
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 953
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 953
Points : 17 773
Points : 17 773
En principe SB n'est pas conçu pour travailler au sein du même serveur, mais pour faire des bases de données réparties sur plusieurs serveurs.

Effectivement c'est très intéressant car asynchrone quoique parfaitement transactionné ! En plus c'est fiables (tables) et sécurisé (privilèges + cryptage...).

J'ai mis en place cela à plusieurs reprise et cela permet de faire des architectures distribuées à haute tolérance.

Mais je pense que votre problème aurait sans doute pu être résolu autrement....

A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h36.


 
 
 
 
Partenaires

Hébergement Web