La sortie prochaine de SQL Server 2012 vaut bien un événement à lui tout seul, et bien le voici !
Organisé par le GUSS (Groupe des Utilisateurs francophones de Microsoft SQL Server), Microsoft et HP, les sessions - plus d'une vingtaine - sont animées par de nombreux MVPs, qualité assurée !
Voici les trois sessions auxquelles j'ai pu assisté, ayant mis l'accent sur LA nouveauté : BISM, le nouveau modèle de données pour la BI.
La BI avec SQL Server 2012, par Sébastien Madar, MCNEXT
- Nouveautés SSIS
- Développement : connections partagées, variables projet, CDC, connecteur ODBC
- Administration : configuration environnement, monitoring et reporting, data taps
- BISM = BI Semantic Model (ex-UDM)
- Objectif : présenter un modèle métier en masquant la complexité du modèle sous-jacent
- Anciennement UDM, mais qui était multidimensionnel
- Multidimensionnel / Tabular
- ROLAP / DirectQuery
- MOLAP / VertiPaq
- BI Self-Service : pour les business-users, basé sur le modèle Tabular
- PowerPivot V2 : création du modèle et de l'analyse
- Nouveautés : Diagram View, Hiérarchies, Perspectives, KPIs (indicateurs visuels, genre feu tricolore…)
- Tout s'appuie sur Sharepoint
- Data Alert : envoi de mail suite à la création d'une alerte sur un KPI d'un rapport SSRS mis dans SharePoint
- PowerView (ex-Crescent) : création du rapport
- Depuis Sharepoint : Create BISM Connection File
- Création du rapport : tables, graphiques, slider photos
- MDS V2 : Master Data Services
- Nouvel AddIn Excel pour mettre à jour le référentiel de données et valider les règles mises en place
- DQS = Data Quality Services
- Renseignement sur la qualité des données dans une Knowkedge Base
- Validation de règles de qualité (Code postal sur 5 chiffres…), possibilité de connexion à des web services de vérification des adresse géographiques...
- Mise en œuvre : DQS Client + DQS Server
Décider entre Tabular ou Multidimensionel pour un projet Analysis Services, par François Jehl, Infinite Square & Aurélien Koppel, Microsoft
- Fonctionnalités du Modèle Tabular
- Véritable couche sémantique
- Rapide et simple à construire
- Design dans Visual Studio 2010
- Import depuis un fichier PowerPivot existant
- Performant à tous les niveaux (fins+agrégés)
- Précache en mémoire ou accès à la demande : Vertipaq vs DirectQuery
- Sécurité d'accès aux données
- Partitions pour la volumétrie et la montée en charge
- Compression des données stockées (environ x10)
- Modèle Tabular: même langage que PowerPivot = DAX
- Principe des fonctions Excel, apprentissage rapide
- Permet de réaliser des calculs métiers complexes
- Nouvelles fonctions (DisctinctCount(), HasOneValue(), Search(), Switch(), Rankx())
- Sécurité dynamique des lignes du modèle (fonctions Username(), Customdata())
- Exemple : Evaluate <DaxTableExpression> Order By <DaxExpression> [ASC|DESC]
- Ce qu'il manque par rapport au MDX
- Script MDX
- Named Set (Top Products…)
- Scope (DateTool…)
- Relation Many-To-Many
- Tabular vs UDM = Simplicité vs Complexité-Puissance
- VertiPaq / Molap
- Compression x10 / x2
- Scan mémoire / disque+mémoire
- Tout en mémoire / plusieurs To
- Comment décider
- Si forte volumétrie + calculs MD complexes -> BISM Multidimensionnel
- Dans les autres cas : BISM Tabular
Introduction à SQL Azure, par Hervé Roggero, Blue Syntax Consulting
- SQL Azure contre SQL Server
- Services
- Pas de : SQL Agent, SSIS, SSAS, Backup, Broker, Profiler, Full Text
- Partiel : SSMS, SSRS
- Développement
- Pas de : .NET, TDE, encryption, Compte utilisateur réseau (ActiveDirectory)
- Partiel : T-SQL, Procédures/Vues
- Prix : très compétitif par rapport au service : données + moteur SQL + DBA
- Communication : TDS sur le port 1433 uniquement, tout est crypté obligatoirement
- Architecture
- Haute Dispo : 3 réplicas en tout, complètement transparent (le primaire peut changer régulièrement par exemple)
- Sécurité
- Physique : Pare-Feu, Isolation, SSL
- Select * from sys.firewall_rules
- Logique : Compte Utilisateur, Schema, HashBytes, Droit d'accès
- HashBytes : MD5, SHA1, SHA256 (Pas de SHA512 pour l'instant)
- Select hashbytes('sha256', 'test')
- SQL Azure est basé sur SQL Server 2012 CTP3 depuis été 2011
- Connection : server name = xxx.windows.net + database name
- Performances
- Operations en masse (Bulk) : utiliser des librairies d'accès en masse, comme EntityFramework
- Lazy loading : charger uniquement les données utilisées, dispo avec EF 4.0
- Cache : Caching Application Block, AppFabric Caching
- Logiciel Asynchrone : pour améliorer l'expérience utilisateur
- Opération Parallèle : utilisation de plusieurs processeurs
- Shards : stockage et requêtage réparti
- Technique
- Dispo : Plan d'exécution, ADO.Net Library Metrics, DMVs (partiel)
- Pas dispo : SQL Profiler, Perfmon
- SLA sur la disponibilité, mais PAS de garantie de performances
- Mécanisme de protection
- Présent en permanence (coupe la connexion au bout de 30 minutes par exemple…)
- Nécessite un logique d'adaptation pour les applications intensives afin de ne pas être bloqué
- Outils : http://enzosqlbaseline.codeplex.com/
- Montée en charge & Sharding
- Besoin : expérience utilisateur no 1 = expérience utilisateur no X
- Modèle de shards : compressé (- de clients que de shards), linéaire (1 client = 1 shard), répandu (+ de clients que de shards)
- A rédigé un WhitePaper sur ces concepts, à télécharger ici
- Outils
- SQL Azure Federation : sorti la semaine dernière, modèle compressé
- Enzo Shard Library : http://enzosqlshard.codeplex.com
- Autres services de SQL Azure
- Import/Export : vers l'Azure Storage
- Backup : T-SQL COPY, Bientôt Point In Time Restore en CTP (jusqu'à 2 semaines en arrière)
- Synchronisation : uni/bi-directionnel, SQL Azure/Server
- Rapports : URL report server d'un rapport RDL