Self Service BI par Azeo

Self-Service BI par AZEO

Ce matin, je me suis rendu au centre de conférence de Microsoft pour assister à la matinée de formation proposée par Azeo : La Self-Service BI.

Self Service BI par Azeo

Depuis quelques mois, je travaille sur un projet de BI pour mon entreprise. Je connaissais déjà bien SSRS (en mode SQL) et SSIS, mais je suis encore novice en SSAS (Tabulaire ou Multi-dimensionnelle) et tous les outils de restitution, partage, etc… me sont inconnus.

J’attendais donc de cette démo d’avoir un aperçu exhaustif des différents outils que mes collègues pourront utiliser sans forcément rentrer dans la technique.

A mon arrivée au centre de conférence de Microsoft, j’ai été accueilli chaleureusement par l’équipe Azeo et un petit déjeuner.

La session était présenté par Jean Pierre Riehl.Je n’ai pas de photo malheureusement mais rassurez vous, il portait bien une cravate 🙂

En introduction, il nous a rappelé une définition de la BI pour que tout le monde dans la salle comprenne bien ce dont on allait parler. Ce que j’en retiens c’est que le projet BI n’est pas une fin en soit mais juste un outil pour que les personnes du métier prennent les bonnes décisions pour améliorer les résultats de l’entreprise.

Après cette rapide introduction, ce fut au tour de Franck Mercier de nous donner la vision de Microsoft sur la Self-Service BI. Il nous a raconté l’histoire de John Snow (non, pas celui de Game of Thrones hein !) qui, lors de l’épidémie de choléra à Londres en 1854, a utilisé sans le savoir un des premiers outils décisionnel. C’était une approche sympa, ça change des exemples traditionnels.

Pour résumer, la Self-Service BI doit offrir un accès simple à toutes les données, à tout le monde grâce à un seul outil : Excel.

Jean-Pierre a ensuite repris la main pour nous faire quelques démos.

Démo 1
Depuis Excel, accès aux données publiques de la banque de france via Internet Explorer puis injection dans Excel avec Power Query.

Démo 2
Élections municipales de Paris en 2008 avec Power Query et Power Pivot.
Pour en mettre plein la vue aux personnes dans la salle, Jean Pierre a meme montré une vidéo en « story telling » de Power Map. C’est l’effet « wahou » garanti !

Démo 3
Power View + Power Pivot pour présenter la fréquentation musées en Ile-de-France. J’utilise Power View sur un cube tabulaire depuis quelques mois donc je n’ai pas été surpris par l’outil, mais c’est tout de même sympa.

Démo 4
Partage des fichiers Excel sur un site collaboratif SharePoint suivi par une rapide présentation de Q&A (show me medals) count by discipline

A la suite de ces démos, Azeo nous a présenté son offre commerciale. Comme je ne suis pas facilement achetable (enfin, ça dépend hein !) je n’en parlerai pas ici mais vous pouvez les contacter.

Conclusion

Je voulais voir à quoi ressemblait les outils Power BI sans rentrer dans la technique et cette session m’a permis d’en voir un bon aperçu. Maintenant, il faut voir comment l’intégrer dans mon entreprise.

Database Compare avec Kankuru

Qui n’a jamais été confronté à des bases de données SQL de différents environnements qui n’ont pas la même structure ?

Je travaille actuellement sur un projet de BI dans mon entreprise. Je ne suis pas seul dans l’équipe qui est composée de plusieurs développeurs. Chacun est sysadmin de l’instance de développement donc tout le monde modifie la structure des bases. Dans le DataWareHouse, certains créent des tables, d’autres modifient des vues, des indexs, des jobs, etc…

Le jour de la livraison, je découvre souvent que certaines modifications n’ont pas été scriptées et c’est à ce moment que les problèmes commencent… Sans outil adapté pour déterminer les différences entre l’environnement de développement et celui de production, je perds beaucoup de temps à déployer la nouvelle release.

Simple à réaliser ?

J’ai donc décidé d’ajouter un outil qui me convient à l’application Kankuru. A première vue, le challenge est assez simple, il suffit pour chaque objet de la base de données source de le scripter et de le comparer au script de l’objet correspondant dans la base de données cible. Oui mais :

    • Comment afficher le résultat pour que ce soit exploitable ? En effet, si je compare des centaines ou des milliers d’objets, il me faut une interface simple et efficace.
    • L’outil doit être rapide : sur une base avec des centaines d’objets, je ne peux pas attendre quelques heures pour obtenir un résultat !
    • Détecter les différences c’est bien, mais je veux voir les différences réels. Trouver un composant de différence de script s’est avéré plus compliqué que prévu.
    • L’utilisateur doit avoir un minimum de paramètres de configuration. Certains veulent certains objets, d’autres veulent faire des comparaison « Case Sensitive » ou sans les commentaires
    • Si je peux comparer les DDL des tables ou des procédures stockées, pourquoi ne pas proposer aussi de comparer également la sécurité, les jobs de l’agent, la configuration de l’instance..
    • .Et les données dans tout ça ? Si 2 tables de dimension sont identiques mais que les données ne le sont pas, ma mise en production va surement échouer, non ?

Bref, je me suis heurté à beaucoup de difficultés sur cet outil. Ce fut long mais je suis maintenant satisfait !

Ca ressemble à quoi ? Comment on s’en sert ?

L’outil est entièrement intégré à Kankuru, En ouvrant Database Compare, on retrouve donc toutes nos instances et les bases de données. Il suffit de sélectionner 2 bases et de cliquer sur le bouton « Compare » et c’est parti ! Pour l’affichage des résultats, j’ai trouvé un composant qui permet de mixer un Treeview et un GridView :

Database Compare TreeListView

Comment les objets sont scriptés ?

L’application utilise les bibliothèques SMO de Microsoft (SQL Server Management Objects) pour scripter les objets. C’est grâce à ce choix de technologie que l’outil est fiable et rapide. Bien évidemment, une fois que je récupère le script des objets il reste à trouver les éventuelles différences. Ca m’a permis de réviser mes connaissances sur les classes String, StringBuilder, etc…

Quel est le composant graphique utilisé pour surligner les différences ?

Après avoir passé de nombreuses heures de recherches et de tests de quelques composants existant, j’ai du me faire une raison : « Greg, tu vas devoir te débrouiller tout seul et mettre le nez dans les algorithmes ! »

Si dans un bloc de 10 lignes de textes j’ai un mot de différence, la ligne en question est très simple à surligner. Mais comment faire si une ligne est insérée en plein milieu ? Le décalage ne permet plus de comparer le script ligne à ligne. Je n’avais déjà pas beaucoup de cheveux sur la tête mais j’en ai quand même trouvé quelques uns pour me les arracher !

Database Compare différence des scripts

Et si je veux comparer les objets en supprimant les commentaires ?

Ou en ignorant la collation, la casse ou encore les espaces ? C’est facile, il suffit de cocher/décocher des cases !

Beaucoup d’objets à comparer

La plupart des objets SQL Server sont comparables. Je pense que vous devriez trouver votre bonheur dans la liste que je propose. L’outil permet de comparer :

  • La configuration globale de l’instance/base
  • La structure des objets
  • La sécurité
  • Les objets du SQL Agent (job, planification, opérateur, …)

Database Compare Objets à comparer

Et les données ?

Kankuru peut comparer les données de 2 tables. Mais contrairement à bon nombre d’outils, Kankuru est rapide et peu couteux en terme de ressources grâce à la magie des checksum.

Envie de le tester ?

Pour le moment, l’application est seulement en test pour quelques utilisateurs, mais elle ne devrait plus trop tarder à arriver…

Database Compare Overview

Ouverture du blog

Bonjour à tous !

Ceux qui me connaissent déjà savent que depuis plus de 2 ans je publie mes articles sur le blog Kankuru. Quoi ? Vous ne connaissez pas encore cette application que je développe et qui permet de connaitre tout ce qui se passe sur vos bases de données SQL Server ? Téléchargez la sans tarder, c’est gratuit, non intrusif et facile à utiliser. En plus, le développeur est très sympa !

Il y a beaucoup de choses à dire sur SQL Server, le développement, les performances. Dans la vrai vie, je ne suis pas que le développeur de Kankuru mais je suis DBA SQL Server (oui j’ai un vrai métier à coté !) Comme je préfère dédier le blog Kankuru aux news de l’application, aux nouveautés, aux réponses à vos questions, j’ai décidé d’en ouvrir un nouveau plus personnel et moins centré sur l’application.

Dans ce nouveau blog, je vais donc vous tenir informé sur toute l’actualité SQL Server comme par exemple la sortie de SQL Server 2014 le 1er avril, vous parler des différents outils de l’éco-système SQL Server (SSIS, SSRS, SSAS, Management Studio, etc…), de mes déboires de DBA, de mes problématiques de développement (C#, WPF, ASP.net) et de tout ce que je rencontre au quotidien. Je vous ferai donc partager toute mon expérience avec des articles, des tutoriels, des tests, etc…

Bien évidemment, je relayerai également certaines news importantes du GUSS (Groupe des Utilisateurs de SQL Server) dont je fais parti depuis février 2014. Si vous ne connaissez pas le GUSS, c’est l’association qui organise :

  • les journées SQL Server chaque année chez Microsoft
  • les SQL Saturday
  • les Webcasts mensuels (sessions techniques en direct de 30 minutes. Une bonne occasion de se former gratuitement !)
  • les afterworks tous les 2 mois car c’est important aussi de savoir se détendre 🙂 Le prochain aura lieu le 2 avril au Charly-Birdy. Ce sera un bon moyen de faire connaissance et de discuter technique.

A très bientôt pour de nouveaux articles.