#JSS2014 Les journées SQL Server 2014 Un événement organisé par GUSS.

Slides:



Advertisements
Présentations similaires
PARCOURS 3 V 2.3 Nouveautés Septembre PARCOURS 3 V 2.3 Nouveautés Septembre 2010.
Advertisements

Agréger les infos SITRA et réservation sur mon site
Agréger la réservation avec l'information. Le Contexte Qui suis-je ? Office de Tourisme dAix-les-Bains avec une mission dinformation et des services commerciaux.
Introduction Pour concrétiser l’enseignement assisté par ordinateur
Module 6 : Gestion et analyse du système DNS
Techniques dindexation Implémentation du modèle relationnel ~ LIF10: Fondements des bases de données relationnelles.
Les requêtes Manière de dialoguer avec une base de donnée pour :
Relations avec les entity beans Michel Buffa UNSA
R. Saint-Paul, G. Raschia and N. Mouaddib IRIN, Nantes (France)
Sélection automatique d’index et de vues matérialisées
Année universitaire Système dinformation Le SQL (Structured Query Language) langage dinterrogation dune base de données.
LE LANGAGE SQL : LDD La création de tables L’ordre CREATE CREATE TABLE nom_de_table (Nom_colonne Type_colonne, Nom_colonne Type_colonne,
VI. Analyse des solutions techniques
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
Les requêtes La Requête est une méthode pour afficher les enregistrements qui répondent à des conditions spécifiques. La requête est donc un filtre.
Développement d’applications web
SSIS Design Patterns David Joubert Thomas Ricquebourg.
10 ans de DBA Sham UNMAR Philippe PIMENTA. 10 ans de DBA Sham UNMAR Philippe PIMENTA.
#JSS2013 Les journées SQL Server 2013 Un événement organisé par GUSS.
Algorithmes Branch & Bound
Plan du Cours Définition de la BI Objectif de la BI Fonctionnement d’une plateforme BI Technologies de la BI Composantes de la BI Les caractéristiques.
Journée thématique du GDR IFS « Réduction de modèle en IFS » ENSAM – Jeudi 18 mai 2006 Validation de l’approche de la réduction a priori - POD sur l'équation.
IMD Achats Logiciel de gestion des Achats
LE REFERENCEMENT NATUREL S.E.O. (Search Engine Optimisation)
28 novembre 2012 Grégory Petit
Module 6 : Gestion du stockage des données
VI. Analyse des solutions techniques
VI. Analyse des solutions techniques
1 SQL: Requêtes, Programmation et Triggers Chapitre 5, Sections
1 SQL: Requêtes, Programmation et Triggers Chapitre 5, Sections
Universté de la Manouba
Modèle d’entrepôt de données à base de règles
Aperture Science Project
Module 2 : Préparation de l'analyse des performances du serveur
Module 3 : Création d'un domaine Windows 2000
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 SQL: Requêtes, Programmation et Triggers Chapitre 5, Sections
Vers l'échantillonnage d'un entrepôt de données
Mise en oeuvre et exploitation
Access Les requêtes Table médias Table (*) Requêtes simples.
JDBC L'API JDBC est utilisée pour utilisée pour intéragir avec une base de données.
Objectifs A la fin de ce chapitre, vous pourrez : présenter l'utilisation d'opérations de chargement de données par chemin direct décrire l'utilisation.
Optimisation de requêtes
Algorithmes Branch & Bound
Crawlers Parallèles Présentation faite par: Mélanie AMPRIMO
1 PHP 5 Notions fondamentales (cours #5) Formation continue – Cégep de Sainte-Foy.
Module 4 : Implémentation de l'intégrité des données.
Sélection de colonnes (la projection)
Structure de stockage et relations
Initiation à Access: Interfaces
Ceci est une session expert Cette session est déconseillée aux novices des moteurs Analysis Services 2000 ou 2005 La session « Découverte de Analysis.
Améliorer la performance des organisations en apportant à toutes les équipes la meilleure compréhension de leur activité pour des décisions plus rapides.
Module 3 : Création d'un domaine Windows 2000
Structures de données avancées : LH (Hachage linéaire) D. E ZEGOUR Institut National d ’Informatique.
10 février 2010 Sylvain Quéméner et Caroline Moulin Consultants
PROJET DE RECHERCHE # 3 Évaluation et sélection de données sources “le défi pour faciliter l'agrégation automatique des données géospatiales des systèmes.
Structures de données avancées : MTH ( Multidimensional trie hashing ) D. E ZEGOUR Institut National d ’Informatique.
Séminaire LINCOLN – MICROSOFT
Projet.
Projet du fin d’études Conception et développement d’une application web pour la gestion d’un tour opérateur Réalisé par : Mohamed Yosri YAHYAOUI.
@GUSS_FRANCE.
#JSS2013 Les journées SQL Server 2013 Un événement organisé par GUSS.
Projet de session Par Eve Grenier Dans le cadre du cours SCG Réalisation d’applications en SIG Jeudi le 20 avril 2006.
SQLSATURDAY 420 – PARIS 2015 SQL 2016, UN NOUVEAU SOUFFLE POUR LA B.I. MICROSOFT ON PREMISE ?
SQLSaturday Paris 2015 SSAS et le moteur relationnel Faire son choix.
Présentation Excel Microsoft Excel est le tableur de la suite bureautique propriétaire « Office System ». Développé pour les plateformes Windows et Macintosh.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 4 Support de cours rédigé par Bernard COFFIN Université.
1 Les bases de données Séance 5 -- Le Langage de Définition de Données ou la manœuvre de la structure de la base -- Le Langage de Manœuvre de Données.
1 Les bases de données Séance 6 L ’extraction de données Le SELECT.
Déploiement de la solution de supervision FAN au sein de société CBI et de ses filiales au Maroc et en Afrique.
Transcription de la présentation:

#JSS2014 Les journées SQL Server 2014 Un événement organisé par GUSS

#JSS2014 Les journées SQL Server 2014 Un événement organisé par GUSS Optimisation many-to-many SSAS Ricquebourg Thomas Sauget Charles-Henri

#JSS2014 Merci à nos sponsors

#JSS2014 Thomas Ricquebourg Développeur BI Charles-Henri Sauget Consultant Décisionnel depuis 2009 Qui sommes-nous

#JSS2014 Tour d’horizon des axes d’optimisation des M2M – Partitionnement – Agrégations Les matrices de compression en détails – Présentation du fonctionnement – Utilisation de BIDS Helper – Démonstrations Agenda

#JSS2014 Exemple – Des raisons d’achat et des achats – Des personnes et des comptes bancaires Gestions SSAS – Multi dim : Native – Tabulaire : Non Native Rappel des M2M

#JSS2014 Modèle de données DimPost DimPostType DimUser DimBadge DimDate DimComment FactPost FactComment FactBadge

#JSS2014 Croiser badge et commentaire – Connaitre le score et nombre de commentaires par badge Gérer les relations – Faire attention à ne pas sommer n’importe comment Performance et optimisation – Avoir un temps de réponse minimum Ce que l’on souhaite

#JSS2014 Par défaut 1 groupe de mesure = 1 partition Découpage d’un groupe de mesure – Par années – Par pays Application d’une clause WHERE Processing et requête plus rapides – Parallélisme – Scanne moins de données Les partitions

#JSS2014 Meilleure flexibilité – Partitions SSAS = Partitions SQL – Gestion de la dernière partition – Moins de 1000 partitions Script XMLA – Création de partition plus simple Alerte SSDT partition par défaut Supérieur à 20 millions de lignes ou +250 Mo Définir une agrégation Règles de base Pas de chevauchement, pas de “trous” 5 à 20 millions de lignes et 3 Go Une large partition mieux que plusieurs petites Les partitions : Bonnes pratiques GestionOptimisation

#JSS2014 Précalculs – Des résultats de requêtes en avance : GROUP BY Fonctionne sur des partitions Trois façons de faire – Assistant classique : Manuel, Semi-Manuel – Usage Based Optimization : automatique SSAS tabulaire : pas d’aggregation possible ! Les agrégations

#JSS2014 Méthode – Semi manuelle : Unrestricted – Gain de performance : 20% à 30 % Pourquoi pas 100 % ? – Temps de process important – Espace disque Nombre d’agrégations – 50 à 100 Les agrégations : Bonnes pratiques

#JSS2014 Récap Agrégation ∑ CacheCache Warming

#JSS2014 … la solution lorsque le partitionnement et les agrégations ne suffisent plus ? Les Matrices de compression …

#JSS2014 SELECT * FROM [dw].[DimComment] DC INNER JOIN [dw].[FactComment] FC ON DC.CommentId = FC.CommentId INNER JOIN [dw].[FactBadge] FB ON FB.UserId = FC.UserId INNER JOIN [dw].[DimBadge] DB ON DB.BadgeId = FB.BadgeId DimBadge DimComment FactComment FactBadge DimUser Axe d’analyse commun Plusieurs Badges pour un Commentaire 90 Lignes L’approche SQL

#JSS2014 Les M2M sont contre- performantes car leur résolution passe par le parcours de très nombreuses lignes (9M dans notre exemple) OBJECTIF : Réduire le nombre de lignes ! Matrice de compression 1 Ligne FactBadge - Matrix DimBadge - Matrix DimBadge DimComment FactComment FactBadge DimUser

#JSS Estimer les gains 2.Modification du DataWarehouse 3.Modification du Cube 4.Implémentation dans l’ETL Un processus en 4 étapes

#JSS2014 BIDS Helper est là pour vous aiderOu en SQL Estimation des gains (1/4)

#JSS tables à créer DimBadgeMatrix – BadgeMatrixId – MatrixList FactBadgeMatrix – BadgeMatrixId – UserId 1 colonne à ajouter – BadgeMatrixId dans la table FactComment Modification du DataWarehouse (2/4) FactBadge - Matrix DimBadge - Matrix DimBadge DimComment FactComment FactBadge DimUser

#JSS2014 Modification du DataWarehouse (2/4) BadgeMatrixId FactBadge (Table intermédiaire initiale) FactBadgeMatrix (Table intermédiaire compressée) FactComment DimBadgeMatrix (Table contenant les Badges en lignes) Intégration de BadgeMatrixId dans FactComment 1

#JSS2014 La taille de la colonne BadgeMatrixKey va devenir un problème à gérer. Il n’est pas envisageable de passer BadgeMatrixKey en VARBINARY(MAX) or nous allons très vite dépasser les 8000 caractères maximum d’un varchar(max) Modification du DataWarehouse (2/4) DimBadgeMatrix (Table contenant les Badges en lignes)

#JSS2014 Les fonctions de hachage sont là pour nous aider On nomme fonction de hachage une fonction particulière qui, à partir d'une donnée fournie en entrée, calcule une empreinte servant à identifier rapidement, bien qu'incomplètement, la donnée initiale. Les fonctions de hachage sont utilisées en informatique et en cryptographie. Modification du DataWarehouse (2/4) Attention à bien estimer les chances de collisions

#JSS2014 Modification du Cube – MD (3/4)

#JSS2014 Modification du Cube – TABULAR (3/4) Ajouter une mesure calculée de FactComment M2M Matrix := CALCULATE ( [COUNT Comment]; SUMMARIZE ( FactBadgeMatrix; DimBadgeMatrixSha256[BadgeMatrixId] )

#JSS2014 L’ETL doit : Alimenter DimBadgeMatrix Alimenter FactBadgeMatrix Mettre à jour la table FactComment Si votre liste d’identifiants dépasse 8000 caractères, l’ETL doit gérer le Hachage de la colonne. Modification ETL (4/4)

#JSS2014 Conclusion

#JSS2014