Conférence Business Intelligence à EPITA

16 novembre 2011

EPITA (Ecole Pour l’Informatique et les Techniques Avancées), tout le monde connait ?

J’y ai passé 5 ans de ma vie  (dont les 2 dernières à mi-temps mais ça faut pas le dire) et je garde un excellent souvenir de cette école qui prépare très bien les ingénieurs.

Encore aujourd’hui je garde un lien avec l’école (pas que pour des raisons géographiques Clignement d'œil) mais aussi un lien avec mon ancienne “spé” SIGL (Systèmes d’Information et Génie Logiciel).

EPITA organise deux fois par an des semaines de conférences pour ses étudiants avec des intervenants du monde de l’entreprise qui viennent parler de leur expérience, de leur parcours ou de sujets techniques.

J’ai eu l’honneur de venir animer une session sur la BI. Je la voulais très pragmatique mais difficile en 1h30 de poser le décor et les fondements du décisionnel et monter un projet complet.

J’étais accompagné par le patron de la Practice Collaboratif d’AZEO, Vincent Renzi qui est venu conclure sur l’importance des portails (et donc de Sharepoint) pour diffuser l’information.

 

Les slides, c’est ici

 

Merci aux étudiants qui m’ont écouté, attentivement je dois dire. A bientôt dans la vie professionnelle.

PowerPivot, Sharepoint et les MasterPages

14 novembre 2011

imageDans la série astuces du jour, un post rapide sur un problème rencontré sur une installation PowerPivot pour Sharepoint.

Dans une installation qui fonctionne très bien avec des galeries de classeurs PowerPivot, on modifie la MasterPage pour faire un peu de customisation graphique. Et là, c’est le drame !

Les pages contenants des composants PowerPivot (Gallery, Carousel, etc.) ne fonctionnent plus et affichent une erreur du genre :

The referenced file "/_layouts/ReportGalleryView.ascx" is not allowed on this page

 

Pour corriger cette erreur, il suffit d’indiquer à Sharepoint que les ASCX utilisés par PowerPivot sont fiables. On les rajoutent donc dans la liste des SafeControls.

Pour cela, il faut aller dans le web.config de votre collection de sites et ajouter le bloc suivant (dans la section <safecontrols/>) :

 <SafeControl 
	Src="~/_layouts/powerpivot/*"
	IncludeSubFolders="True"
	Safe="True"
	AllowRemoteDesigner="True"
	SafeAgainstScript="True" /> 

 

Source en Anglais (qui nous a permis de trouver la solution rapidement) : http://powerpivotgeek.com/2010/06/17/modifying-the-sharepoint-v4-master-page-for-the-powerpivot-gallery/

MCITP Business Intelligence Developper 2008

4 novembre 2011

image

That’s all Folks !

TechMeeting sur SQL Server 2012

1 novembre 2011

Demain soir a lieu un TechMeeting chez AZEO.

Azeo

Vincent Renzi, patron de la Practice Sharepoint et moi-même (SQL, c’est ça ? Tire la langue) sommes allés en octobre aux événements internationaux majeurs de nos technologies respectives :

  • Sharepoint Conference à Anaheim
  • SQL PASS Summit à Seattle

Back from Summits

Tous les experts d’Azeo vont se retrouver demain soir pour discuter avec nous des annonces, des nouveautés et de technologies.

Ca va débattre autour de Sharepoint, SQL Server 2012, Azure, les appliances, le Big Data, la Business Intelligence mobile… et le choix des pizzas.

L’objectif est évidemment de partager entre spécialistes car ce n’est pas parce qu’on est architecte Lync, expert ADFS ou encore développeur FAST que ce qui se passe dans les autres technologies n’est pas intéressant.

Au contraire, je crois profondément à cette culture technologique qui nous permet d’avoir une vision large et de la justesse dans nos mises en œuvre quotidiennes chez nos clients. C’est ce que je considère comme la culture Geek.

C’est ça l’expertise AZEO, des consultants toujours au top !

 

Ah mince, j’oubliais, c’est un événement interne…donc privé.

Je n’ai qu’une chose à ajouter alors : rejoignez nous !

jean-pierre.riehl@azeo.com

Les inscriptions sont ouvertes aux Journées SQL Server (édition 2011)

21 octobre 2011

clip_image002

Rejoignez la communauté des professionnels SQL Server !

clip_image006Les experts francophones de SQL Server, les MVP (Most Valuable Professionnal) et les MCM (Microsoft Certified Master) se réunissent à Paris pour 2 jours de conférences entièrement gratuits.

Vous pourrez découvrir les nouvelles fonctionnalités de SQL Server 2012 mais aussi assister à des sessions sur des sujets pointus au travers d’un parcours consacré au moteur de base de données, d’un autre consacré à la Business Intelligence et enfin un parcours dédié aux appliances SQL Server.

Au total, ce ne sont pas moins de 23 sessions qui vous attendent sur AlwaysOn, Power View, SSIS Server, les index colonnes, SQL Server Data Tools, SQL Azure, BISM, les performances, la sécurité, etc.

Inscrivez-vous dès maintenant

 

Cet événement est organisé par la communauté SQL : le groupe des utilisateurs francophones (GUSS) et les MVP, avec l’appui et la participation de Microsoft et du sponsor Platinum : HP

image  clip_image008 clip_image010

 

Tout au long des journées, vous pourrez également poser toutes vos questions à l’espace rencontre à nos différents sponsors éditeurs, presse ou SSII. Les speakers sont également à votre disposition.

Cet événement aura lieu les

12 et 13 décembre
au
Centre de conférences Microsoft

41 quai du Président Roosevelt
Issy-les-Moulineaux

 

 

clip_image012


GUSS est affilié au PASS (Professional Association for SQL Server), leader des communautés SQL Server à travers le monde. Nous les remercions pour leur soutien dans l’organisation de cet événement.

Tabulaire versus Multidimensionnel

19 octobre 2011

imageDans ma série “je dépile mes posts du PASS Summit”, je vais vous parler de la session de Marco Russo à laquelle j’ai assisté.

Le sujet est la modélisation décisionnelle en OLAP ou Vertipaq et la façon de le présenter très pragmatique.
Marco Russo a simplement pris des scénarios décisionnels usuels et les a modélisé en multidimensionnel et en tabulaire.

Evidemment, une introduction claire a été faite rappelant les différences entre les 2 modèles (requêtage, modélisation, exécution, etc.).
J’ai retenu (entre autres) cette phrase de Marco :

Both Data Modeling will live side by side a long time

Je vous renvoie vers mes précédents articles sur le BISM pour plus d’infos.

 

Les exemples de modélisation présentés :

  • calcul de stock
  • nouveaux clients
  • matrice de transition (exploitation des changements d’une SCD)
  • classification ABC

Je ne vais pas vous refaire les démonstrations dans ce post mais il est apparu assez évidemment que Vertipaq, Tabular et DAX forme un trio simplifiant grandement la modélisation.

Certes, les scénarios ont été choisis en conséquence car la conclusion n’est pas de dire que le modèle tabulaire est meilleur. Il est différent et apporte de grandes simplifications dans de nombreux cas d’analyse. (je vous renvoie vers le blog de Marco).

 

J’ai aimé :

  • la simplicité intellectuelle de la modélisation Tabulaire (on réfléchit comme un utilisateur d’Excel)
  • Approche “Think as entities
  • les raccourcis du langage DAX qui réduit la taille du code des mesures calculées

 

Pour aller plus loin

Je vous invite à vous inscrire aux Journées SQL Server à Paris les 12 et 13 décembre. 2 sessions seront consacrées à la modélisation de solutions décisionnelles.

La première par François Jehl qui reprend le sujet de Marco Russo sur les différences entre Tabulaire et Multidimensionnel

S122 – Décider entre Tabular ou Multidimensional pour un projet Analysis Services

La seconde par Florian Eiden (je l’assisterai comme co-speaker sur le sujet) sur la modélisation dimensionnelle de façon plus générale.

S221 – Modélisation dimensionnelle : le fondement du DataWarehouse

 

See you in Paris.

Session : Delivering KPIs

17 octobre 2011

Speaker : Peter Myers

 

imageLa session parle des indicateurs de performances, les KPI. Dit comme cela, le sujet est simple mais la description m’a plutôt intéressé car elle décline le sujet sur les différents produits de la stack BI : SSAS, Excel, SSRS, PPS (PerformancePoint) et il y a même un peu de Data Mining.

Bon, pour être honnête, c’est le mot-clé MDX qui m’a décidé Sourire.

La session a été très claire et très didactite. Le speaker a pris le sujet à la base et a déroulé les implémentations, les façons de faire, les questions à se poser.

Même si je connaissais suffisamment le sujet pour ne pas le découvrir en séance, c’est bon de voir tout repris dans l’ordre et redémontré (surtout le Data Mining qui n’est pas ma tasse de thé et le Write-Back).

J’ai aimé :

  • Le rappel de l’importance de l’alignement à la stratégie métier (Balanced Scorecard – Norton/Kaplan)
  • Le rappel qu’un tableau de bord est un ensemble de KPI corrélées ensemble (encore une fois la méthodologie de Norton/Kaplan est en sur le devant de la scène)
  • Une super démo de Data Mining (algorithme Time Series)
  • La saisie des valeurs depuis Excel 2010 en utilisant le Write-Back
  • L’ensemble des métadonnées à mettre sur une KPI
  • La création d’un tableau de bord de KPI en provenance d’un cube dans Excel 2010 en mode Free-Form

 

Je pense que ça mérite un article sur le sujet alors je mets ça dans la pile.

Session avec SQLCAT – SSAS et Big Data

14 octobre 2011

imageHier, je suis allé à une session présentée par l’équipe SQLCAT (Customer Advisory Team) sur le cube Analysis Services  de Yahoo! qui ne fait pas moins de 24To.

SQLCAT est une équipe dédiée à l’architecture et la mise en œuvre de SQL Server sur des (très) gros environnements. On leur doit presque tous les livres blancs sur les performances SQL Server.
Ce sont aussi eux qui ont battu le record de chargement de données avec 1To en 30 minutes avec SSIS.

La session était très complexe, les speakers survoltés (et donc parlant très vite avec tout un tas de traits humoristiques que j’avais du mal à suivre). Je ne vais donc pas en faire un compte-rendu détaillé.

Ce que je veux partager avec vous, c’est la philosophie qu’il y a derrière une solution de cette taille (on parle de milliers de milliards de lignes).

Vous aurez peut-être deviné, il y a de l’Hadoop et du HiveQL dans la solution pour extraire et traiter les logs depuis les systèmes de fichiers de Yahoo!.

Ce n’est que pure spéculation, mais j’ai bien l’impression que ce projet a été très impliqué dans les phases de développement du driver Hadoop de SQL Server 2012

Revenons à la BI. Derrière, il y a bien un cube SSAS ; et pas d’Hadoop de ce côté là.

La clé est le partitionnement.

C’est la solution pour intégrer 135Go de données par jour et pour les processer (les traiter – pardon pour l’anglicisme).
Les partitions sont très petites ; les 135Go sont eux mêmes partitionnés pour avoir du quasi temps réel (near-time). Et régulièrement, les partitions sont fusionnées (commande XMLA MergePartitions).

L’autre point important est une modélisation simple et relativement rigide. On le comprend aisément, si les dimensions changent tous les 4 matins, on a un risque de devoir reprocesser l’ensemble des 24To. On est donc dans du pur ProcessAdd (si je parle en XMLA).

Bref, de beaux challenges à résoudre et j’adorerais passer un jour dans l’équipe pour aborder tout cela avec eux.

 

Pour le fun, voici quelques notes sur les éléments physiques de la solution :

  • 128 Cores
  • 2TB RAM
  • SAN : 400TB
  • 1M IOPS
  • 36Go/s en lecture depuis le DWH

 

Le conseil du jour de la part de Denny Lee :

Créez une nouvelle partition dans SSAS dès que la taille de la partition atteint 4Go

Les nouveautés “méconnues” de SSIS 2012

14 octobre 2011

Speaker : Matt Masson (équipe de développement SSIS et camarade d’ATE)

Je suis arrivé et Matt présentait déjà un Data Flow. Je n’ai pas tout compris car il a fallu accrocher les wagons mais en vrac :

  • Facebook Source : nouveau composant, 3rd party ou développement custom ?
  • composant StreamInsight : utilisation de StreamInsight pour détecter des patterns directement dans un flux SSIS; j’adore mais je ne sais pas d’où il l’a sorti
  • composant MDS :  utilisation des informations de vos référentiels MDS (ici un Lookup)

La session a ensuite démarré… c’était juste pour occuper l’audience en attendant. Ce qui fait que je ne sais pas si ce sont des futures fonctionnalités, de la RTM, du SP1, de la prochaine version…

Place aux fonctionnalités annoncées pour la RTM

Je ne vais pas revenir sur les grandes améliorations de SSIS sauf par ce court résumé :

  • amélioration du développement : corrections des bugs, nouveaux designers, nouveaux composants, etc.
  • amélioration de la production : serveur SSIS, notion de projets, logs automatiques, etc.

Je vous laisse consulter mes précédents posts et les articles complets que je vais faire sur le sujet.

Je vais en revanche pointer les fonctionnalités présentées en session et il y a de quoi faire. Tout n’est pas dans la CTP3 donc je ne peux pas vous faire de démo.

 

Change Data Capture

Pas besoin de présenter le CDC apparu en 2008 (j’avais fait un article sur le sujet, il est encore dispo ici) ? En 2 mots, c’est un moyen d’obtenir rapidement les modifications d’une table dans un intervalle de temps. Les modifications sont stockées dans des tables systèmes et, à la différence de la vieille méthode des triggers, c’est le moteur qui gère tout.

Tout cela est très utile pour un ETL qui doit transférer ces modifications dans un DataWarehouse (ou tout autre système qui en aurait besoin).

Avec SQL Server 2012 arrive le CDC pour Oracle et le support du CDC dans SSIS

  • CDC Oracle : un service Windows (et une application de gestion) s’occupe de récupérer les changements depuis une base Oracle
  • SSIS CDC Control Task : permet d’effectuer des opérations sur le CDC comme récupérer les bons LSN
  • SSIS CDC Source : permet de récupérer sous la forme d’un flux de données les modifications de données
  • SSIS CDC Splitter Transformation : comme le composant SCD, il permet de différencier dans des flux différents les ajouts, les modifications et les suppressions

Tout cela rend le CDC encore plus attrayant et je suis content de l’ajout de ces composants.

 

ODBC source/destination

Avec l’arrêt d’OLEDB et un revirement vers ODBC, il est évident que les composants sources et destinations allaient aussi suivre le mouvement.

Microsoft annonce de meilleures performances sans grandes explications. J’attends de voir car ça ressemble plus à la stratégie “je m’accroche aux branches”.

En tout cas, les composants sont là et ils fonctionnent Sourire.

 

Shared Connection Manager

J’en avais déjà parlé, la gestion des connexions a été grandement améliorée. On peut promouvoir une connexion au niveau projet (et inversement), mettre offline une connexion, etc.

Lors de la session, j’ai pu voir des petits icones apparaitre pour indiquer si une connexion utilise une expression ou si elle est offline.
Cela ne marche que pour les connexions malheureusement. Il vous reste BIDSHelper qui apporte ce genre de confort de façon générale.

 

Flat Files

Je n’ai pas encore testé et la démo a été extrêmement rapide mais 2 améliorations arrivent sur les fichiers plats :

  • Meilleure gestion des Text qualifier (quand ils sont imbriqués)
  • Nombre de colonnes variable (ie. meilleure gestion des séparateurs)

 

Code XML

Il est maintenant beaucoup plus propre et plus court. Il est enfin lisible ; des nœuds ont été transformés en attributs et le positionnement a été revu et placé à la fin.

Cela permet une chose : le Merge de packages

Enfin on va pouvoir travailler à plusieurs sur le même DTSX, en multiple checkout dans TFS avec un merge de fichiers XML lisible.

Attention, ce n’est pas non plus trivial et des erreurs sont encore possibles.

 

Debug des Script Components dans le Data Flow

Je crois que tout est dit, sauf peut-être : merci Sourire

 

Pilotage via Poweshell

La gestion du serveur (création, exécution, administration) se fait entièrement avec des procédures T-SQL. Cependant, l’équipe SSIS a développé une API en .NET au dessus (qui lance donc du T-SQL avec ADO.NET) et cette API est Powershell-isable.

Donc vous pouvez administrer, déployer, gérer votre serveur SSIS en PowerShell.

 

Data Viewers –> Data Taps

Les Data Viewers que vous mettez en développement pour voir ce qui passe entre les composants sont maintenant disponibles à l’exécution sur le serveur et s’appellent des Data Taps.

En plus des logs automatiquement gérés par le serveur, il est possible (pour l’administrateur uniquement) de placer ces Data Taps sur les Paths (ex : \Package\aDFTtask\Paths[SourceSQL.ConversionDate]) de vos Data Flow.

Les données sont dumpées dans un fichier CSV et rassurez vous, il est possible de limiter les colonnes et le nombre de lignes exportées.

 

Integration Services Dashboard

Dans Management Studio, il y a depuis quelques temps déjà des rapports sur les différents éléments aidant grandement à l’administration (mon préféré est Disk Usage Sourire).

Avec le logging automatique du serveur SSIS, SSMS nous offre des tableaux de bord qui exploitent ces données.

On peut donc en quelques clics voir, entre autres :

  • les packages exécutés
  • les packages en erreur
  • les historiques d’exécution
  • les temps d’exécution des différentes partie (avec historisation)
  • etc.

 

Correlated Logging

Afin de profiter des logs automatiques avec votre propre log métier (custom logging), vous avez à disposition une variable (je ne me souviens plus du nom mais c’est du genre @User::BatchID) pour pouvoir corréler par la suite les différents logs.

Dependency Services // Projet Barcelona

Pour finir, je vais parler brièvement du projet Barcelona.

J’ai pu faire des démos (MS Days Toulouse) et parler de Dependency Services sorti avec de la CTP1. Dependency Services est sorti de Denali avec la CTP3 pour vivre sa propre vie.

L’idée reste la même : tracer toutes les dépendances des données entre les composants d’une solution BI (sources, SQL, packages SSIS, rapports, modèles PowerPivot, etc.).

L’objectif est de pouvoir répondre à des questions comme : que ce passe t-il si je supprime cette colonne ?

Je suis maintenant en relation avec l’équipe de développement car j’adore le projet et donc je ne vais pas tarder à vous en parler plus en détail.

Le projet est prévu pour sortir juste après SQL Server 2012 et en attendant, suivez ce blog ou celui de l’équipe : http://blogs.msdn.com/b/project_barcelona_team_blog/

Nouveautés Analysis Services 2012

13 octobre 2011

Speakers : John Hancock & Ashivini Sharma (Lead Program Managers)

J’ai choisi de zapper une session level 300 sur le design de cube pour aller voir la présentation des nouveautés par les PM en personne.

Pour résumer, les points suivants ont été abordés (je rentre dans le détail par la suite) :

  • PowerPivot v2
  • BISM
  • Evolutions du moteur multidimensionnel (les 5 minutes de la fin)

 

BISM : one model for all End User experiences

La présentation de BISM m’a fait penser à la devise du seigneur des anneaux : un modèle pour les gouverner tous (et dans les ténèbres les lier). Retour sur la session.

 

Après une démo sur PowerPivot v2 (les nouveautés avaient été présentées dans ce précédent post), le modèle est sauvegardé sur Sharepoint.

A ce stade, vous avez une solution décisionnelle disponible et vous pouvez directement faire un rapport Crescent Power View.

Mais comment manager cela quand la source est un fichier Excel qui prend ses données d’un rapport qui prend sa source dans un flux OData ? (là je pousse le bouchon mais admettons…)

L’objectif est de pouvoir promouvoir un modèle créé par l’utilisateur dans un vrai cadre Analysis Services. Pour cela, on peut réimporter  notre classeur PowerPivot.

image

Vous noterez qu’il nous faut un Analysis Services en mode Vertipaq (tabulaire) mais ça reste une base de données SSAS gérée sur un serveur SSAS et attaquable depuis les outils classiques (Excel, PowerPivot, Power View, SSRS, etc.).

 

Revenons sur le BISM. J’avais déjà parlé du sujet (le post ici) mais je vais faire une piqure de rappel. BISM est un super-modèle, il ne remplace rien. Les sous-ensemble sont :

  • le très connu UDM (SSAS 2005-2008R2)
  • le nouveau modèle tabulaire qui a démarré avec PowerPivot

Ces 2 modèles ont chacun leurs outils, langages et une conception différente.
BISM les réunit afin d’offrir aux outils de restitution de données un modèle commun (en programmation objet, on dirait une abstraction).

Evidemment, quand j’évoque les différences, elles vont s’effacer par la suite car elles sont déjà quasiment iso-fonctionnelles (là j’exagère un peu mais l’idée est là). On peut déjà tout faire dans Visual Studio par exemple.

Mais alors que doit-on choisir ?

La question est difficile à répondre aujourd’hui donc on se contentera de celle du consultant : ça dépend Sourire.

Ma vision est que le modèle tabulaire est pour l’instant plutôt orienté pour les POC, les développements rapides ou la réalisation de modèle décisionnel par les utilisateurs eux même (et c’est ce dernier point qui est le point important).
Si vous êtes développeur (T-SQL, DWH, MDX, Visual Studio, etc.), restez sur le modèle UDM, mais commencez à y jeter un œil.

De toute façon, tabulaire, étoile, flocon, etc., au final, on a bien des tables et des relations entre elles. Qu’importe la modélisation suivie (Kimbal, Inmon, Tabular, etc.), on a bien des données tabulaires.

C’est pour cela que le BISM est le modèle commun !

Et ma conclusion sera (attention, je polémique) :

BISM peut être vu comme un revamping de l’UDM.

Soit dit en passant, UDM n’a jamais vraiment pris. Je n’ai jamais entendu une seule fois chez un client “nous avons un modèle UDM…”

Pendant les Journées SQL Server en décembre à Paris, nous reviendrons sur la modélisation avec François Jehl donc si la polémique le débat vous intéresse, venez nous y écouter.

 

Petite remarque : vous serez obligé de faire du tabulaire pour utiliser Power View dans la RTM (ça c’est important et pourtant c’est juste une phrase perdue après la conclusion).

 

Quelques autres notes de la session :

J’ai aimé :

  • le mode avancé de PowerPivot qui permet aux utilisateurs Business de ne pas être perturbé par des options trop compliquées dès l’ouverture tout en offrant de la richesse pour les développeurs
  • la réimportation d’un modèle PowerPivot dans SSAS
  • la sécurité des modèles tabulaires. Du Role Based comme avant mais plus simple à construire (surtout pour le niveau cellule). Je n’ai pas retrouvé l’écran présenté donc ce sera plus tard pour un screenshot.

Je n’ai pas aimé :

  • Crescent over Multidimensionnal (ie. faire un rapport Crescent sur un cube classique) n’est pas encore possible et ça arrivera avec la prochaine update.

 

Et les évolutions SSAS Multidimensionnel ?

Comme je le disais, les 5 minutes de la fin (la salle était pleine et il y a eu de nombreuses questions) ont été consacrées à un slide sur les nouveautés de SSAS en mode multidimensionnel.

Je n’ai pas tout noté mais ce sont principalement des limitations repoussées ou supprimées et des améliorations des performances. On peut noter par exemple le support du DISTINCT COUNT sur ROLAP.

Je me rattraperai dans un prochain post dès que les slides seront en ligne.


Suivre

Get every new post delivered to your Inbox.

Joignez-vous à 203 followers