Archive pour avril 2008

De l’utilisation de NOLOCK

24 avril 2008

J’ai eu il y a quelques temps la question suivante :

j’aimerais faire comprendre à mes développeurs l’intéret de positionner des NOLOCK dans les requêtes de sélection, peux-tu m’aider pour faire l’argumentaire

Pour rappel ou pour ceux qui ne voient pas de quoi je parle, NOLOCK est un Query Hint qui permet de passer le mode d’isolation au niveau le plus bas sur la lecture d’une table. Il s’utilise de la façon suivante :

Select * From MaTable WITH (NOLOCK)

Voici la réponse que j’ai donné :

Premièrement et c’est le plus important, utiliser NOLOCK n’est pas « naturel », dans le sens où la base de donnnées est là pour garantir les accès concurrents et gérer des lecture/écriture dans une optique transactionnelle (contraintes ACID1) et ceux même pour un énorme volume de transactions.

Cependant, sans aller jusqu’à dire que c’est un constat d’échec que de l’utiliser, le hint NOLOCK est intéressant dans certains contextes.
Notamment les sites Web qui font beaucoup d’accès en lecture pour faire principalement de l’affichage. Dans ce cas, en effet, avoir une donnée non commitée n’est (en général) pas critique, sauf pour certains sites (bourses, état de stock, etc.). Cela permet de soulager la base de données et de booster l’affichage des pages.

Mais pour moi, le NOLOCK n’est qu’une réponse technique d’urgence et ne sert juste qu’à cacher la poussière sous le tapis. Il faut comprendre pourquoi l’ajout d’une ligne dans une facture bloque l’affichage du top 10 des vendeurs et essayer d’y répondre par la conception de l’application (cache, portée des transactions, etc.) ou de la base (normalisation/dénormalisation).
J’insiste qu’il y a un risque à utiliser NOLOCK à tout va, car on peut récupérer des données “dirty” et les réécrire par la suite et perdre la cohérence (aCid); à l’application d’adresser cette contrainte.

Donc pour conclure :

  • le NOLOCK est une réponse technique intéressante pour optimiser l’affichage de données NON CRITIQUES
  • l’utilisation systématique du NOLOCK n’est pas une bonne chose car elle cache un réel problème transactionnel. Et surtout on ne respecte plus la “norme” ACID.

Si tu utilises SQL Server 2005, il faut te tourner vers les autres niveaux de verrou comme le Snapshot (READ_COMMITTED_SNAPSHOT) qui apporte la souplesse en lecture tout en garantissant les transactions (comme le fait Oracle). Un bon argument pour passer à 2005.

1ACID: Atomicité, Cohérence, Isolation, Durabilité

La BDC c’est fini

10 avril 2008

Et voila, l’événement se termine. Merci à tous les gens qui sont venus. Je posterai dès demain les slides des sessions DGD, les codes sources et je ferai un petit debrief.

Là, avec les speakers Bewise et Microsoft, nous allons boire une petite bière dans le coin.

A demain.

 

 

Bewise Developer Conference : D-Day

10 avril 2008

Et voila, c’est je jour J pour l’événement Bewise sur les technologies Microsoft. Je fais un dernier rappel avec ce post.

Si vous souhaitez découvrir SQL Server 2008 et toutes les solutions connexes, rendez-vous aux sessions :

  • Solutions Décisionnelles avec SQL Server 2008 à 16h40 et 20h40
  • Nouveautés de SQL Server 2008 à 18h40

Sans oublier que vous pouvez rencontrer tout au long de la journée les experts DGD et Microsoft sur les différents stands SQL (SQL Server 2008, SQL 2008 et la mobilité, Business Intelligence, BizTalk).

Rendez-vous tous au Stade Ernest Wallon à Toulouse dès 13h30 !!

PS : chercher les gens en cravate ;-)

Bewise inaugure son nouveau site web

7 avril 2008

Il est beau, il est en MOSS (Sharepoint pour les non initiés) et la page de présentation du domaine DGD (Décisionnel & Gestion de Données) est magnifique (mode self_congratulate).

Il est consultable à la même adresse : http://www.bewise.fr

Pour accéder directement à la partie DGD, suivez ce lien.
Pour accéder à l’offre de Bewise sur SQL Server, suivez ce lien.

Au risque de faire mon copieur par rapport aux posts de mes collègues, bravo à Joce pour son travail de maîtrise des CSS dans Sharepoint et à Lionel pour sa maîtrise de Sharepoint tout court.

Problèmes de CTP

7 avril 2008

J’ai eu, et cela m’est aussi remonté par mes collègues et relations, des soucis avec les installations des CTP de SQL Server. Obligation d’installer deux fois, erreur à la désinstallation…

Un des problèmes que j’avais est le suivant : après une installation réussie, seul un point, et non des moindres, ne marchait pas, le requêtage depuis Management Studio. A l’exécution d’une requête SELECT, Management Studio mouline et ne retourne jamais les résultats. Pourtant, il est possible d’afficher ou de créer des tables ou des bases de données.

J’ai le moyen de contournement à ce problème qui est référencé auprès de Microsoft (programme Connect) : il faut laisser TOUS les répertoires par défaut à l’installation (ie. C:\Program Files\Microsoft SQL Server\). Pour moi, une désinstallation-réinstallation ont suffi pour régler le problème.

Le lien du “bug” est le suivant : http://connect.microsoft.com/SQLServer/feedback/ViewFeedback.aspx?FeedbackID=312344

PS : par contre, j’ai dû mettre les droits au service qui fait tourner SQL sur le répertoire où sont mes fichiers MDF à la main… Ah ces sacrés CTP.

 

Mim est MVP

2 avril 2008

Yallaaaa !!

Mon collègue et ami Sébastien (dit Mim dans la pègre Warcraftienne) vient de recevoir son titre de MVP SQL Server.
Félicitations, c’est super pour toi, pour Bewise et pour le pôle DGD.

Je vous rapelle l’URL de son Blog : http://www.dotmim.com 

 

PS : Cette fois-ci, ce n’est pas un poisson d’avril ;-)

Cadeau à la BDC 2008 !!!!

1 avril 2008

Je ne présente plus la Bewise Developer Conference 2008 organisée par Bewise à Toulouse le 10 avril. Par contre, cette nouvelle va en ravir plus d’un.

Pour toute inscription et présence aux sessions SQL Server de la BDC, une licence Enterprise Edition sera offert.

Inscrivez-vous vite, il ne reste plus que quelques jours !!!

 

POISSON D’AVRIL

PS : désolé de gacher si vite la surprise pour les gens qui ont un reader RSS texte, qui ne prends pas en compte le subterfuge :-)


Suivre

Get every new post delivered to your Inbox.

Joignez-vous à 203 followers