Note de lecture : SQL Server DMVs in Action, par Ian W. Stirk

Note : 5 ; Plus centré sur des cas d’utilisation que sur l’exploration des possibilités des DMVs

Les « dynamic management views » ou DMV constituent la mécanique permettant d’interroger SQL Server sur son comportement, les optimisations possibles. Elles sont une source d’information extrêmement précieuse pour améliorer les capacités de SQL Server en production ! Un livre consacré à cette mine d’information était donc susceptible d’élargir mon horizon sur l’exploitation de SQL Server.

J’ai hélas été déçu par l’approche empruntée : Au lieu d’explorer de manière systématique et organisée les possibilités offertes par les DMVs, les auteurs ont orienté leur approche sur les cas d’utilisation. Cette approche n’est pas mauvaise en soi, car elle a l’avantage du pragmatisme : vous recherchez comment optimiser les temps d’attente ? L’un des cas d’utilisation et le script associé en parlent ! Vous voulez améliorer l’indexation des tables : idem ! Par contre, difficile de dire si l’on a laissé de côté des informations plus exotiques mais qui pourraient s’avérer intéressantes. On n’a pas une très bonne idée de ce que l’on a couvert ou pas une fois la lecture terminée.

Concernant les sous-ensembles couverts, certains ne le sont pas, comme les DMVs liées à Service Broker, alors que les DMVs de la CLR le sont ! Un curieux choix éditorial. Dois-je préciser que j’ai hardiment sauté la partie consacrée à la CLR.

Parmi les choses intéressantes, on notera les recettes de cuisines pour l’exploitation des DMV, comme l’utilisation des doubles snapshots pour faire de la synthèse soustractive de valeurs.

Bref, le livre me laisse un peu sur ma faim, bien que beaucoup de matériel soit largement et directement exploitable. On notera aussi que cette approche par les cas d’utilisation correspond parfaitement à la philosophie de la série « in action » de l’éditeur.

image

Référence complète : SQL Server DMVs in Action : Better queries with dynamic management views – Ian W. Stirk – Manning 2011 – ISBN : 978 1 935182 73 3

SQL Server DMVs in Action

https://www.goodreads.com/book/add_to_books_widget_frame/1935182730?atmb_widget%5Bbutton%5D=atmb_widget_1.png&atmb_widget%5Bhide_friends%5D=on

Publicité

Note de lecture : Expert Cube Development with Microsoft SQL Server 2008 Analysis Services, parChris Webb, Alberto Ferrari & Marco Russo

Note : 6 ; Peut-être pas expert, mais certainement éclairé.

Comme son nom l’indique, ce livre a pour but de faire de vous un « expert » du décisionnel avec SQL Server et plus précisément avec son sous-ensemble Analysis Services. Expert est certainement prétentieux. Disons, raisonnablement opérationnel. Pour arriver à nos fins, ce texte compte 330 pages sur 10 chapitres. Voyons ce qu’il en est.

Le premier chapitre s’abstrait de SQL Server pour présenter les fondamentaux de la conception de modèles OLAP. Il est assez surprenant de pragmatisme et d’efficacité. La plupart des choses que l’on a besoin de savoir sont couvertes dans ses 36 pages.

Le second chapitre ressemble déjà plus à du Packt publishing : on est guidé pas par pas vers la création d’un premier cube simple. Le 3ème chapitre y fait suite avec des éléments plus complexes comme les SCD.

Les aspects mesures et groupes de mesures complètent le panel de ce que l’on peut faire sur les dimensions au chapitre 4.

Les chapitres 5 à 7 se focalisent sur les aspects analyse. D’abord avec le forage de données au chapitre 5, puis avec l’ajout d’indicateurs calculés au chapitre 6 et enfin avec des opérations de conversion au chapitre 7.

Les 3 derniers chapitres ont une coloration « production ». Ca commence au chapitre 8 avec l’exploration des aspects performance. On y parle partition, agrégations et tuning des requêtes MDX. Le chapitre 9 explore les aspects sécurité de façon assez approfondie, plus qu’on en a le plus souvent besoin. Par contre le sujet de l’accès au cube par http mérite le détour. Le chapitre 10 porte le doux nom de « productionization ». On y parle beaucoup gestion des partitions. Enfin le chapitre 11 aborde le monitoring mais n’est pas inoubliable.

Contrairement au livre de Larson, celui-ci fait le choix de se focaliser uniquement sur la construction du cube et non pas sur tout le processus décisionnel qui inclurait alors SSIS. Même si l’on peut arguer que les approches sont différentes et les livres difficilement comparables, je préfère Larson à la fois plus complet et plus pédagogique.

Parmi les points intéressants : des conseils d’usage pour ne pas se retrouver le bac dans l’eau et des liens vers des articles de blog développant tel ou tel aspect…

Expert Cube Developpement with Microsoft SQL Server 2008 Analysis Services

Référence complète : Expert Cube Development with Microsoft SQL Server 2008 Analysis Services – Chris Webb, Alberto Ferrari & Marco Russo – Packt Publishing 2009 – ISBN : 978-1-847197-221

Expert Cube Development with Microsoft SQL Server 2008 Analysis Services

https://www.goodreads.com/book/add_to_books_widget_frame/1847197221?atmb_widget%5Bbutton%5D=atmb_widget_1.png&atmb_widget%5Bhide_friends%5D=on

Note de lecture : SQL Server 2008 Integration Services, par Erik Veerman, Jessica M. Moss, Brian Knight & Jay Hackney

Note : 7 ; Un ouvrage vraiment fait pour bien utiliser SSIS et pas seulement l’expliquer

Pas facile de trouver un ouvrage sur SSIS en expliquant le fond, le bon usage et ne se limitant pas à la description de l’outil ! Ce livre est celui-ci. Il s’adresse au praticien déjà expérimenté de l’ETL de Microsoft et propose une série de patterns de mise en œuvre afin de bien architecturer un projet SSIS ! Franchement c’est tout simplement la seule source d’information (livres et Web inclus) que j’ai peu identifier faisant cela !

Le biais du livre, désavantageux du point de vue de ma propre utilisation, est qu’il est orienté solution BI. Ainsi les 12 chapitres de ce livre de 420 pages s’orientent-ils dans ce sens selon les étapes logiques de réalisation d’un projet SSAS. Mon intérêt direct d’arrêtant donc vers les chapitres 6 ou 7. Mais je ne doute pas que le développeur BI trouvera beaucoup d’intérêt au reste du livre.

Je dois bien aussi avouer que même si seule la première moitié du livre m’a intéressé (la seule que j’ai lu, en fait), j’ai considéré mon achat amorti sur cette seule partie !

Le premier chapitre évoque les architectures de déploiement possibles avec SSIS. Pour chacune d’entre elle, on évalue ainsi les bénéfices et les aspects négatifs. Tout ce qu’il faut pour arrêter un choix en connaissance de cause.

Au chapitre 2, on traite la mise en place d’un « Framework » dans lequel vont s’inscrire les intégrations. Cela recouvre les problématiques de configuration d’auditabilité, de logging et de gestion d’erreur. Là encore des domaines où sont plus détaillées les caractéristiques de SSIS que la façon intelligente de les mettre en œuvre. Comme ici. Oserai-je dire qu’à ce point, j’avais déjà de quoi être satisfait de mon achat ?

Le chapitre 3 est assez court, il traite des options de déploiement des packages SSIS. Il y en a plusieurs, mais jamais avant cela on ne m’avais expliqué les traits des différentes options. C’est chose faite, je comprend mieux et saurais désormais décider en connaissance de cause !

A partir du chapitre 4, on rentre dans l’usage des tâches de SSIS. Et pour commencer le traitements des fichiers. Les auteurs présentent ici leur approche encore une fois, pas seulement l’utilisation de l’outil. Même si j’ai moins appris que sur les chapitres précédents, il y a clairement du savoir faire à réutiliser…

Le chapitre 4 propose des « bests practices » pour les problématiques d’extraction et de stagging des données. Même s’il est d’usage général, ce chapitre s’inscrit plus dans une optique de projet BI.

Il en va de même pour les chapitre 6 (où j’ai arrêté ma lecture) qui s’attache aux problématiques de nettoyage des données.

Je reprendrais certainement cette lecture un jour, en fait les problématiques BI m’intéressent également. Quoi qu’il en soit, j recommande sans réserve ce livre pour le praticien déjà aguerri de SSIS : le savoir-faire qu’il propose n’existe pas ailleurs !

sql-server2008-IS-wrox

Référence complète : SQL Server 2008 Integration Services : problem, design, solution – Erik Veerman, Jessica M. Moss, Brian Knight  Jay Hackney – Wrox 2010 – ISBN : 978 0 470 52576 0

Microsoft SQL Server 2008 Integration Services: Problem, Design, Solution

http://www.goodreads.com/book/add_to_books_widget_frame/0470525762?atmb_widget%5Bbutton%5D=atmb_widget_1.png&atmb_widget%5Bhide_friends%5D=on

Note de lecture : SQL Server Statistics, par Holger Schmeling

Note : 5 ; Bref, mais pointu et complet !

Pour bien fonctionner, l’exécution des requêtes s’appuie sur des plans d’exécution qui sont eux-mêmes optimisés par l’optimiseur du serveur : quel table doit-on requêter en premier, doit-on filtrer avant ou après, utiliser un index ou scanner la table, etc… Et l’optimiseur ne fait pas cela dans le vide, il utilise les statistiques des tables.

Ce court livret qui compte moins de 50 pages ne traite que des statistiques : quelles son-elles, comment sont-elles mises à jour et quand et comment sont-elles exploitées par le moteur de requête. Ce texte est tellement court, que l’auteur parle à plusieurs moment « d’article » dans le texte. Mais bon, il a un ISBN, donc… 

Comprendre, c’est bien, savoir agir, c’est mieux ! L’auteur nous initie aux possibilités d’action sur les statistiques : les procédures stockées, les tables de statistiques et histogrammes elles-mêmes ainsi que les activations / désactivations totales et partielles de celles-ci, sans compter les statistiques filtrées.

Le livre compte deux parties, la seconde (un peu plus courte) est une série de problèmes / solutions qui reprennent et parfois approfondissent les points vus dans la première.

Le livre est court et de bonne tenue. J’ai juste deux petits regrets :

  • J’aurais aimé une ou deux (pourquoi pas 3 ?) études de cas avec des plans d’exécution, la mise en reliefs des statistiques correspondantes, les actions et la mise en lumière des différences de résultats.
  • L’auteur évoque à quelques reprises des outils plus pointus et même des DMV non documentées. On aurait pu y plonger.

Connaître le fonctionnement des statistiques n’est pas un « game changer » la plupart du temps. L’auteur le dit d’ailleurs : par défaut ce que fait SQL Server marche très bien dans la grande majorité des cas. Mais le ratio temps de lecture / amélioration des compétences est vraiment excellent. Pourquoi s’en priver ?

sqlserver-statistics

Référence complète : SQL Server Statistics – Holger Schmeling – Simple Talk Publishing 2010 – ISBN : 

SQL Server Statistics

http://www.goodreads.com/book/add_to_books_widget_frame/18461962?atmb_widget%5Bbutton%5D=atmb_widget_1.png&atmb_widget%5Bhide_friends%5D=on

Note de lecture : Pro Full-Text Search in SQL Server 2008, par Michael Coles avec Hilary Cotter

Note : 6 ; Fait le boulot pour être pleinement opération sur le full texte selon SQl Server.

Un livre spécifiquement dédié aux fonctionnalités « full text » de SQL Server ? Cela peut sembler excessif, et d’ailleurs Apress nous a habitué à une qualité assez variable de ces ouvrages. Qu’en est-il de celui-ci ?

Le texte n’est pas exagérément volumineux : 270 pages pour traiter le sujet, 255 hors annexes, divisé en 11 chapitres. D’ailleurs le texte n’est pas non plus particulièrement dense : de nombreuses copies d’écran et listings. On n’atteint pas l’exagération ni pour l’un ni pour l’autre, mais disons que l’on est à la limite, à mon avis.

Le premier chapitre est une introduction aux principes de la recherche plein texte, aux principes de tokenisation de proximité et à l’intégration dans SQL Server. Une introduction plutôt sympathique et pas tellement violente. Mais on apprend 2/3 trucs.

Le second chapitre a trait à l’administration : depuis le setup jusqu’au backup en passant par les différentes options d’installation et de paramétrage. Un peu trop de copies d’écran à mon avis, mais le chapitre a le mérite de ne pas être superficiel.

Au chapitre 3 on attaque réellement les requêtes. On y voit plusieurs façon d’interroger a base sur la recherche plein texte. Les différents mots-clés T-SQL et leurs usages y sont traités. Efficace.

Au chapitre 4, on attaque des choses beaucoup plus compliquées et qui ne serviront pas à tout le monde : la construction d’une application utilisant l’indexation full texte. Il faut s’attendre à construire de complexes procédures, une véritable grammaire avec des cas d’utilisation ! J’avoue que cela dépasse ce que j’escompte faire ! C’est un prélude au chapitre 5 qui lui adresse la recherche multi linguale.

Au contraire, le chapitre 6 me paraît particulièrement utile : il adresse l’indexation full texte des « LOB » qu’ils soient TEXT, BLOB, XML ou filestreams. Je regrette juste le mélange de code T-SQL et de code .NET …

Chapitres 7 et 8 sont en quelques sorte complémentaires. Le premier traite des « stoplistes » permettant de filtrer le bruit généré par certains mots, tandis que le chapitre 8 traite de la gestion des thésaurus. Les possibilités offertes sont simplement étonnantes.

A partir du chapitre 9, on attaque réellement les parties avancées. Ici il s’agit des DMV, du moins celles servant pour le full text. Le chapitre 10 traite des filtres. J’ai un peu décroché, je l’avoue. Il suffit simplement de savoir qu’ils permettent de travailler sur des formats de fichiers spécifiques. Ici encore, le mélange entre T-SQL et .NET m’a quelque peu dérangé.

Le livre termine avec la question des recherches avancées, plus spécifiquement les recherches phonétiques.

Clairement ce livre couvre la question des fonctions « full texte » de SQL Server de manière très convaincante et exhaustive, du moins il me semble. Même si le texte n’est pas enthousiasmant, il fait le boulot pour devenir opérationnel sur le sujet !

pro-full-text-search-in-sql-server-2008

Référence complète : Pro Full-Text Search in SQL Server 2008, Take advantage of the vastly new and improved full-text search feature in SQL Server 2008 – Michael Coles with Hilary Cotter – Apress 2009 – ISBN : 978-1-4302-1594-3

Pro Full-Text Search in SQL Server 2008

http://www.goodreads.com/book/add_to_books_widget_frame/1430215941?atmb_widget%5Bbutton%5D=atmb_widget_1.png&atmb_widget%5Bhide_friends%5D=on

SQL Server et l’agilité

Le GUSS, c’est à dire le Groupe des Utilisateurs de SQL Server organisait cette rencontre pour évoquer un sujet qui m’est cher au sein d’une communauté pas franchement reconnue pour son adhésion à l’agilité. Franchement, je ne savais pas à quoi m’attendre !

Déjà un bon point pour le cadre de rencontre convivial, certainement à retenir pour de prochaines Scrum Beer !

GUSS-Avril13-01

Maintenant, arrivons-en au fond. Je ne vais pas laisser trainer le suspens : j’ai passé une excellente soirée !

L’agilité est un sujet jeune dans cette communauté, on n’y trouve pas la touche de suffisance que l’on croise par ici ou le regard blazé que l’on rencontre par là … L’enthousiasme est là, avec l’envie d’avancer , la soif de faire mieux et le questionnement sur ce que l’on fait.

En parlant de questionnement, j’ai été aussi surpris par l’ouverture d’esprit des personnes présentes. J’ai souvent été confronté dans ce milieu à des personnes prisonnières de leur paradigmes, empreintes de dogmes pour ne pas dire de certitudes. Rien de tel ce soir-là.

Il me serait difficile de vous faire un compte-rendu circonstancié des discussions, mais je vais évoquer quelques points qui m’ont marqué. Dans le désordre.

Les limites de l’outillage

On peut aimer les outils qu’on utilise et faire preuve de lucidité à leur égard. La difficulté principale rencontrée par les développeurs BI utilisant Integration Services semble être l’aspect monolithique des solutions SSIS qui rendent inopérants les fonctionnement en branches avec les merges que cela nécessite.

Le second point évoqué est le problème de la resynchronisation des métadonnées qui fonctionne manuellement et nécessite de repasser sur tous les packages. Si on souhaite travailler sur un modèle de manière itérative, on fait face à ce problème très rapidement, et c’est d’autant plus handicapant que le projet est gros…

Le future du BI agile n’est peut-être pas le cube

Travailler sur un cube de manière itérative n’est pas facile. Vraiment. D’abord si on souhaite faire des “sashimi”, on devrait travailler sur un modèle de données évolutif. Or la synchronisation des métadonnées de SSIS est un obstacle à cela.

D’un autre côté, il n’est pas possible de rajouter des dimensions à un cube une fois en production, car cela remet en cause la granularité des faits qui alimentent déjà le cube !

Mes observations et mes réflexions m’amènent à penser que l’avenir du BI et surtout du BI agile réside dans des solutions “sans schémas” adoptées de manière différentes par le monde des bases NoSQL, je pense surtout aux bases orientées colonnes comme Hadoop. Il s’agit là non seulement de la disparition du schéma explicite, mais d’un paradigme différent où la structuration de la données disparait au profit de la capacité à retrouver cette donnée et à la traiter, et souvent de manière scalable. Un aspect prépondérant quand le monde du BI est tiré vers le Big Data.

C’était mieux avant…

Une voix discordante s’est élevée au milieu de ces reflexions agiles.

“Lors d’une itération, on a oublié de décliner des règles métiers sur d’autres tables. Avec un cycle en V, la spécification détaillée aurait pris en compte cela et évité l’erreur.”

Bien sûr l’argument ne tient pas. Notre interlocuteur aurait dû au contraire se féliciter de n’avoir eu à attendre qu’une itération pour corriger un oubli que le cycle en V ne saurait pas plus garantir ! De toute évidence, la contre-argumentation est d’ors et déjà acquise pour nos DBA Agilistes. Que du plaisir !

La difficulté d’un résultat de sprint démontrable

Quand je demande à mes interlocuteurs de m’expliquer leurs découpage en sprint, j’entends un motif recourent : d’abord un sprint de modélisation de base, un ou plusieurs sprints d’alimentation de Sas, puid d’ODS, viennent enfin les sprints de construction de cube puis de présentation !

C’est le moment de prendre mon air horrifié : pourquoi ne pas construire les sprints verticalement, avec une tranche fine allant de la modélisation de la base à la présentation en passant par les différents étages d’alimentation ?

Nous avons donné la réponse plus haut : la difficulté de construire une table de fait dont la granularité se rafinerait au fur et à mesure de l’ajout de dimensions, la pénalité de SSIS aux changements de métadonnées, etc…

Seconde question, donc : mais alors, si vous n’allez pas au bout de la tranche, que démontrez-vous ?

La réponse est bien sûr : ce qu’on peut ! Dans le cas d’un sprint de modélisation, par exemple, ce sera le modèle de données. Sur papier !

Bref, Scrum c’est l’art du possible, mais il y a vraiment matière à progression de ce côté. On en est pas au “vrai Scrum” !

Le poids des cérémonies de Scrum

Autre point évoqué : 2 semaines, c’est court, et en plus il faut ménager du temps pour la démo, la rétro, le planning meeting. Sans compter que ce dernier se trouve souvent pénalisé par la découverte “in situ” des aspects fonctionnels, laissant la portion congrue de la réunion au découpage en tâches et à l’estimation.

Ces problèmes ne sont ni nouveaux, ni spécifiques au BI avec SQL Server. Ce sont des choses que j’ai rencontré avec des équipes de développement Java. De ce côté nous avions amélioré les choses avec quelques pratiques courantes ou non :

  • Découpage en 2 (à quelques jours d’interval) du planning meeting : un volet découverte fonctionnel, et après 2 jours pour réflechir et assimiler, un pur planning meeting plus court.
  • Des workshops de tests d’acceptance regroupant développeur, PO, client final (quand il est différent) et représentant de l’équipe de test (quand il y en a une).
  • Et bien sûr des rétrospectives pour introduire des pratiques, alléger ou faire disparaitre celles qui paraissent inutiles.

En ensuite…

Pas mal d’échanges, l’envie d’aller plus loin … Le GUSS a émis l’idée d’une table ronde, elle me plait bien ! Tout le monde a l’air motivé, donc peut-être d’ici Juin ?

Note de lecture : Pro SQL Server Disaster Recovery, par James Luetkehoelter

Note: 7 ; Un bon cocktail de technique, gestion des risqué et process, le tout fort bien écrit !

Décidemment APress propose une collection complète et de qualité pour couvrir SQL Server (2005 et maintenant 2008..). Cet ouvrage dédié au disaster Recovery, malgré sa publication récente couvre SQL Server 2005, avec un addendum évoquant SQL Server 2008.

Bon bouquin, disons-le tout de suite. Le cursus particulier de l’auteur (études de philosophie) n’est probablement pas étranger à la qualité rédactionnelle. Le style est vivant, voir intimiste. Même pour un livre technique (surtout pour un livre technique), cela compte ! Comme le DRP n’est pas seulement de la technique mais plutôt une alchimie entre technique et process, l’auteur aborde les deux aspects avec bonheur.

Bien entendue, le backup est la pièce maîtresse du DRP. Impossible d’échapper au traitement en profondeur de celui-ci. Le premier chapitre est purement introductif, mais les chapitres 2 à 5 (soit pratiquement les 100 premières pages) sont entièrement dévolues à cet aspect ! Après cela, on sait pratiquement tout ce que l’on a à savoir sur la réalisation des backups, leur restauration et la relation entre filegroups et backups ainsi que les stratégies possibles et conseillées.

Le chapitre 6 fait charnière en présentant les recovery plans possibles mettant en œuvre les techniques vues précédemment.

Les chapitres 7 à 10 constituent vraiment à mon avis le « plus » de ce livre en présentant les différentes fonctionnalités de SQL Server pouvant être utilisées pour le DRP, la façon de les utiliser et leur utilité dans un DRP d’un point de vue subjectif. Dans l’ordre, nous avons : le « log shipping » qui est clairement le préféré de l’auteur, le clustering, le miroring et enfin le snapshot. Une mention particulière pour le chapitre 10 qui traite de l’infrastructure matérielle : chapitre intéressant au point qu’il m’a laissé sur ma faim !

Les chapitres 11 et 12 traitent l’aspect purement processus du DRP. Le chapitre 12 est particulièrement étonnant (et intéressant) car il traite exclusivement de l’aspect humain. Il pourrait prendre place dans un livre traitant de toute autre technologie ou même d’aucune technologie !

Enfin, une annexe évoque les évolutions qu’apporte la version 2008. Cela ne couvre qu’une dizaine de pages, ce qui est plutôt succinct, mais il est vrai que l’on n’a aucun recul sur cette version. Pourtant n’est-elle pas « all about availability » ?

Pour conclure : je recommande vivement !

pro-disaster-recovery-sqlserver-2005

Référence complète : Pro SQL Server Disaster Recovery – James Luetkehoelter – Apress 2008 – ISBN : 1-59059-967-5 ; EAN : 978 1 59059 967 9

Pro SQL Server Disaster Recovery

http://www.goodreads.com/book/add_to_books_widget_frame/1590599675?atmb_widget%5Bbutton%5D=atmb_widget_1.png&atmb_widget%5Bhide_friends%5D=on

Note de lecture : Pro SQL Server 2008 XML, par Michael Coles – Apress 2008 – ISBN : 1-59059-983-7 ; EAN13 : 978-159059-983-9

Note : 5 ; On reste quand même sur sa faim !

Le support XML de SQL Server est bien plus riche qu’on pourrait le penser de prime abord. Les 350 pages de ce livre nous proposent d’en faire le tour ! L’auteur a essayé de « tailler large » et adresse non seulement les fonctionnalités internes de SQL Server, mais aussi l’écosystème proche : la CLR, SOAP et http, ainsi que la gestion de données géographiques et LINQ, tous deux nouveaux sur SQL Server 2008.

Si le chapitre 1 traite de rappels sur XML que l’on peut passer, le chapitre 2 a la bonne idée de présenter une « vieille » fonctionnalité : la clause FOR XML, et de décliner les possibilités de celles-ci telles qu’on y penserait pas !

Les choses (très) sérieuses commencent au chapitre 3, avec la présentation du type XML. Forcément, on arrive rapidement à la présentation de XML Schéma. A la fois trop longue et pas assez, celle-ci ne saurait remplacer un tutorial (ou un livre) dédié. Le chapitre suivant est dédié à la gestion des collections XML. Probablement un des gros points faibles du livre, on passe trop rapidement sur la gestion interne SQL Server des schémas XML, pour ne pas évoquer la gestion des validations des types XML…

XQUery est correctement abordée dans les chapitres 5 et 6, et la façon d’écrire des requêtes TSQL permettant de lier des types SQL à des variables XQuery est largement abordé et illustré. Bravo. Le chapitre qui suit traite de l’optimisation du traitement de ce XML via l’indexation, un chapitre pas très facile à aborder avec l’exposé des plans d’exécution, mais toutefois intéressant.

Les 5 chapitres restant ont peu retenu mon attention, car un peu au-delà de mon intérêt pour SQL Server. Le chapitre 8 traite du processing XSLT à l’aide de la CLR, tandis que le chapitre 9 évoque l’accès à SQL Server via SOAP (avec une forte prévention quand à la disparition de cette fonctionnalité dans une version future). Le chapitre 10 est encore plus éloigné de mes centres d’intérêt, car il traite de .NET, et les exemples en Visual Basic…

On arrive au chapitre 11 et au support GML. Une fonctionnalité intéressante pour peu que l’on ait l’occasion de l’utiliser ce qui n’est hélas pas mon cas. Mais il s’agit de toute façon que d’une courte introduction.

L’ouvrage se conclut par deux chapitres pas vraiment indispensables. Le chapitre 12 aborde SQLXML, une fonctionnalité moribonde et vouée à disparaitre. Le chapitre 13 évoque les outils utilisables pour éditer et utiliser les fonctionnalités. Léger et pas vraiment indispensable.

Je ne rangerais pas ce livre dans les déceptions : j’y ai trouvé ce que j’y cherchais, et la matière y est très correctement traitée à un ou deux bémols près. Il y a beaucoup de matière à élaguer aussi, l’auteur ayant rempli la musette pour faire un ouvrage consistant. Si j’enlève la matière périphérique et y ajoute un peu de volume pour mieux traiter les points faibles, je serais arrivé à un livre de 250 pages au lieu des 350 actuels. Cela reste un bon ratio et une acquisition valable.

pro-sqlserver2008-xml-apress

Référence complète : Pro SQL Server 2008 XML – Michael Coles – Apress 2008 – ISBN : 1-59059-983-7 ; EAN13 : 978-159059-983-9

Pro SQL Server 2008 XML


http://www.goodreads.com/book/add_to_books_widget_frame/1590599837?atmb_widget%5Bbutton%5D=atmb_widget_1.png&atmb_widget%5Bhide_friends%5D=on

Note de lecture : Pro SQL Server 2005 Service Broker, par Klaus Aschenbrenner

Note : 7 ; Une approche complète et didactique du sujet: bravo!

Je n’attends généralement aucun miracle de ce type de livre qui ressemble trop à un texte commandé par l’éditeur. Dans le cas présent, je me suis trompé. Déjà, et c’est important, l’auteur maîtrise parfaitement son sujet, il fait ensuite preuve d’indiscutable qualités pédagogiques, ce qui est bien plus inattendu ! Le livre est volumineux, car il compte 435 pages pour un sujet somme toutes pointu. Mais le livre se veut exhaustif sur le sujet. C’est aussi pourquoi le livre est divisé en deux parties, la première, le « programming model » étant l’introduction, la seconde « Advanced service broker programming » intéressera l’expert ou le DBA. Nous avons donc deux livres en un, en quelques sortes. C’est une bonne chose, car les livres APress sont souvent assez chers.

La première partie est composée de 7 chapitres totalisant 220 pages. Les deux premiers nous offrent un tour complet technique et fonctionnel de Service Broker. C’est un vrai plaisir, et l’on a une idée très clair du fonctionnement et des possibilités de l’outil à cet issu. Le 3ème chapitre complète le tableau en présentant les différentes briques de programmation permettant de mettre en place un service de messagerie : messages, queues, contrats et services. En réalité, on est déjà capable de mettre en œuvre un « hello world » assez élaboré arrivé à ce stade. Le chapitre 4 dédié à l’activation permet d’avoir une vision claire sur les possibilités de déploiement et d’administration des services (cela sera complété en seconde partie). Les 3 derniers chapitres sont consacrés à des sujets déjà avancés : l’écriture de services en .NET avec C#, la gestion des transactions et des services distribués.

Je ne suis pas bien sûr d’être la bonne audience pour la seconde partie, le niveau est un peu élevé pour moi. Il traite de sujets aussi avancés et complexes que les autorisations et l’encryptage, l’architecture SODA (Service Oriented database Architecture, pour le coup ça m’intéresse à nouveau), le développement d’applications en grandeur réelle, la scalabilité et les performances.

Je n’hésite pas à le dire, voici un très bon livre. Le propos est clair et précis, les exemples assez nombreux et pas trop touffus, ils illustrent bien le propos. De plus, l’auteur n’a pas hésité à ajouter de nombreux diagrammes pour expliquer l’architecture ou la cinématique, ce qui manque notoirement souvent à de tels ouvrages. Par contre, et c’est un bon symptôme, il a souvent renoncé aux sacro-saintes copies d’écran, sauf quand elles apportaient réellement quelque chose !

Si Service Broker vous intéresse, c’est LE livre. Une nouvelle édition adressant SQL Server 2012 est bien évidemment parue depuis. Malgré le considérable enbompoint qu’elle a pris au passage, je ne doute guère que la qualité restera au rendez-vous ! Pour Klaus Aschenbrenner, « pro, ça veut dire pro ».

pro-sqlserver2005-service-broker

Référence complète : Pro SQL Server 2005 Service Broker, Learn how to program distributed message applications with SQL Server 2005 Service Broker – Klaus Aschenbrenner – Apress 2007 – ISBN : 1-59059-842-3 ; EAN : 978 1 59059 842 9

Pro SQL Server 2005 Service Broker


http://www.goodreads.com/book/add_to_books_widget_frame/1590598423?atmb_widget%5Bbutton%5D=atmb_widget_1.png

Note de lecture : Delivering Business Intelligence with Microsoft SQL Server 2008, par Brian Larson

Note: 7 ; Une approche didactique, complète et progressive d’Analysis Services

Et encore un bon gros pave de 770 pages! Tout aussi effrayant que cela soit, j’ai en fait été surpris par l’aisance que j’ai eu à avaler les 19 chapitres de cet ouvrage. Il faut dire qu’ayant commencé par voir sur Amazon quel était le meilleur texte sur Analysis Services, je n’ai été qu’à moitié surpris. Je n’hésite pas à le dire, ce livre est un quasi parfait didacticiel, capable de remplacer une formation sur le sujet. Le contenu équilibre fort bien les aspects théoriques, la présentation des fonctionnalités SSAS et la mise en pratique par les « Learning by doing ».

La plus flagrante faiblesse que j’y vois concerne justement les « LBD » : j’ai trouvé les descriptions des mises en pratiques bien trop micro managées, à tel point qu’on finit par ne plus savoir ni comprendre ce que l’on fait ! C’est bien dommage, car par ailleurs ces exercices (et ils sont nombreux) ont des finalités tout à fait pertinentes.

Pour résumer, et avant d’en survoler le contenu, je dirais que ce livre recèle 2 gros points forts :

  • L’équilibre entre les explications théoriques sur les principes (qu’est-ce que le BI, qu’est-ce qu’UDM, quels sont les différents modèles OLAP, etc..), les explications sur la façon dont ils sont mis en œuvre dans SQL Server, et la mise en pratique concrète (les LBD dont nous avons parlé précédemment).
  • La couverture du sujet, qui ne se localise pas à Analysis Services sensu stricto, mais inclut la modélisation dimensionnelle (relationnelle), l’alimentation, la fabrication d’un Cube, l’analyse avec MDX et même le Data Mining et la mise en place de reports avec Reporting Services ou Excel et ses pivot tables !

Je ne vais pas rentrer dans le détail de la table des matières, ce serait trop fastidieux, mais simplement évoquer les 5 grandes parties du livre.

La première partie « Business Intelligence » couvre 5 chapitres totalisant 90 pages. L’objectif de cette partie est de mettre en place les concepts liés au BI : qu’est-ce que c’est ? Quand et pourquoi s’en sert-on ? Quels sont ces concepts liés au BI (data Mart, OLAP, UDM, etc..), à quoi ressemble une modélisation dimensionnelle ? Comment tout cela est-il architecturé dans le système ? Cette première partie se termine par une introduction à Visual studio qui sera abondamment utilisé par la suite.

La seconde partie « Defining business intelligence structures » est longue de 3 chapitres couvrant 200 pages ! Elle rentre dans le vif de la modélisation dimensionnelle et de sa mise en place dans une base relationnelle. Mais en fait, ce qui explique la taille de cette partie est la longue mise en pratique de SSIS. L’ETL Microsoft est par ailleurs le sujet de livres à part entière, mais j’avoue que les deux chapitres qui figurent ici n’ont pas à rougir avec certain d’entre eux ! Utilisant SSIS très régulièrement depuis 2 ans, j’y ai découvert des choses !

La troisième partie « Analysing cube content » avoue 170 pages découpé en 4 chapitres. Comme son nom l’indique, cette partie se consacre à l’exploitation du cube décisionnel. Mais avant de l’exploiter, il faut le construire ! On commence donc par concevoir le cube, avec ses dimensions et ses groupes de mesures, puis par le déployer. Une fois cela fait, on peut mettre en place des KPI, les relations de hiérarchie et autres agrégations. Et bien sûr, on termine par les opérations de navigation dans le cube, par SSMS ou via les requêtes MDX.

La quatrième partie se consacre au Data Mining, car SQL Server possède bel et bien des fonctions de data mining intégrées ! 90 pages organisées en 3 chapitres couvrent ce sujet. On débute bien entendu par une présentation de ce domaine et des différents algorithmes de data mining. Puis on pénètre réellement dans le sujet en construisant un « data mining model ». Le reste de cette partie est consacré à la mise en œuvre des différents algorithmes de data mining proposés par Microsoft.

La dernière partie « Delivering » s’étend sur 180 pages en 4 chapitres. Elle couvre la restitution d’information. Cette partie est surtout conséquente parce que l’auteur est par ailleurs un expert reconnu de Reporting Services (il est l’auteur d’un best seller sur le sujet). Donc Reporting Services couvre ici 3 chapitres, et plutôt de très bonne façon, reconnaissons-le, tandis que les Pivot Table sont réduites à la portion congrue, ce qui est un peu frustrant.

J’en ai terminé avec l’aspect descriptif. Voici maintenant mon conseil : Vous voulez vous mettre à SSAS ? C’est LE livre, ne le ratez pas.

delivering-bi-sqlserver2008

Référence complète : Delivering Business Intelligence with Microsoft SQL Server 2008 – Brian Larson – McGraw-Hill 2009 – ISBN: 978 0 07 154944 8

Delivering Business Intelligence with Microsoft SQL Server 2008


http://www.goodreads.com/book/add_to_books_widget_frame/0071549447?atmb_widget%5Bbutton%5D=atmb_widget_1.png&atmb_widget%5Bhide_friends%5D=on