SSAS Tabulaire Optimisation

Slides:



Advertisements
Présentations similaires
Evaluation de requêtes Quelques résultats préliminaires 1 Amin Mesmoudi.
Advertisements

SRT 2 NTP. Nécessité ● Les ordinateurs utilisent des horloges à quartz – Peu de précision – Tendance à dériver – Parfois plusieurs secondes par jour.
SQLSaturday Paris 2016 Query Store ou comment donner de la mémoire à sa base de données Sarah Bessard Philippe Geiger.
Université de Nantes CHORD Vincent Trève. Introduction ● Problématique – Comment accéder efficacement aux données réparties sur un système pair à pair?
Présentation du projet JAVA Système de messagerie instantanée cryptée.
L'image: Formats et compression BacPro SEN Lycée Condorcet ➢ 1ère partie: Généralités ➢ 2ème partie: Les espaces de couleurs ➢ 3ème partie: Codage des.
DUT INFORMATIQUE ET GÉNIE INFORMATIQUE UE2 CONNAISSANCES ET COMPÉTENCES COMPLÉMENTAIRES EGO 4 ORGANISATION et GESTION LA CAPITALISATION ET L’ACTUALISATION.
M ENTION E TUDES SUR LE G ENRE A TELIER M ÉTHODES Q UANTITATIVES Cécile FAVRE Maîtresse de Conférences en Informatique Université Lyon 2
Plateforme Expadon2 - SPS Export
Quelle solution pour quel usage ?
Indicateur ARE avancé des difficultés des entreprises
Indicateur ARE avancé des difficultés des entreprises
PIB en valeur et en volume
Table des matières, citation, mise en page
Marketing digitale ≈ webmarketing.
La Compression de Données
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Le stockage dans les Smart-Grids
Formation L’arbitre acteur au cœur de son club
R.Metz / Polytech / 21 Novembre 2016
Table passage en caisse
Les Bases de données Définition Architecture d’un SGBD
Structured Query Language
Initiation aux bases de données et à la programmation événementielle
Niveau 2 : Tables de plongée
Architecture de machines Le microprocesseur
Tables de décompression 2/2
Evaluer les savoirs faire
Technologies d’intelligence d’affaires
Algorithmique & Langage C
Haute disponibilité et répartition de charge avec Sympa
Technologies d’intelligence d’affaires
Régularité et algèbre 3.1 L’élève doit pouvoir explorer des relations : a) à partir de suites non numériques à motif croissant impliquant les notions d’aire.
Landscape genomics Physalia courses , November 6-10, 2017, Berlin
Création Et Modification De La Structure De La Base De Données
PROGRAMMATION INFORMATIQUE D’INGÉNIERIE II
Cours N°10: Algorithmiques Tableaux - Matrices
DATA WEARHOUSE 1ère année LA: Technologies systèmes d’information
Fleet Performance Tuto Rapports Personnalisables
Réseaux de neurones appliqués à la reconnaissance de caractères
Formation sur les bases de données relationnelles.
First Name NAME Affiliation Date
Langage d’interrogation des Données Les fonctions de groupes
6. CONCEPTION PHYSIQUE RELATIONNELLE
L1 Technique informatique
Définition Jeu à l'atout 1/35
Ruoqi He & Chia-Man Hung
Efficacité des algorithmes
Les Concentrés de Complexe de Prothrombine (CCP) Vs le Plasma Frais Congelé (PFC) EFFET SUR LA MORTALITÉ Hi my name is charles Plourde and I’am the head.
Épreuve écrite E4.1 BTS CG Session /02/2017.
Comment utiliser l’application ?
LA COMPRESSION : SES ALGORITHMES, SES UTILISATIONS AUGERT Jean-Philippe.
Info Bases de données avancées
Logiciel de présentation
Présenté par: Souleymane MOUSSA Encadré par: M’hammed SAHNOUN
Créer un site Word Press
Daniel Leduc Lise Pouliot Sylvain Bourdeau
Tris Simples/Rapides.
Conversion de document en ligne
Tableaux croisés dynamiques sous Excel: des outils simples pour une analyse rapide de jeux de données en cytométrie Camille SANTA MARIA Ingénieur d’étude.
L’art de l’Intelligence Industrielle
Faire converger les besoins analytiques et le développement applicatif
Exploitation de vos données
INTELLIGENCE ARTIFICIELLE
GT informatique phase 1 Atelier informatique phase 2
Power Saturday 14 et 15 juin 2019, Paris.
NUMÉRISATION 3D D’UNE USINE UN INVESTISSEMENT RENTABLE!
Développer et réduire (x – 5)(x + 1) = (3 + x) x =
Les données structurées et leur traitement
Transcription de la présentation:

SSAS Tabulaire Optimisation Sauget Charles-Henri MVP Data Platform SSAS Tabulaire Optimisation

SAUGET Charles-Henri www.sauget-ch.fr @SaugetCh chsauget@scop-it.com Consultant décisionnel depuis 2009 BLOG www.sauget-ch.fr TWITTER @SaugetCh MAIL chsauget@scop-it.com

Thank you Sponsors You are Community

SSAS Tabulaire - Optimisation 1/ Les moteurs de Tabulaire 2/ Les outils 3/ Pistes d’optimisations

Moteurs de Tabulaire

Les moteurs de Tabulaire SE - Storage Engine Xvelocity - Vertipaq FE – Formula Engine SE - Query FE – Query - DAX Dax query SE - Cache SSAS Tabulaire 1 Thread Permet d’effectuer des requêtes complexes Multi Thread 1 cœur par segment Les plans de requêtes de sont pas basés sur el coût

Stockage des données (Storage Engine) Table Dictionnaire (.dictionary) S1 S2 Partition 1 (0.idf) = S3 Hiérarchies (GUID.hidx, .tbl.xml) Relations (.idf, .tbl.xml) Base Tabular Partition 2 (1.idf) C1 C2

Encodage Table initiale Distinct Dictionary Data Data_ID Ligne Cmd 1 2 N° Cmd 10 SO1510 11 SO6589 12 SO1574 13 SO5985 Dictionary N° Cmd Ligne Cmd SO1510 1 2 SO6589 SO1574 SO5985 N° Cmd SO1510 SO6589 SO1574 SO5985 Encode Data_ID 1 2 Data_ID 10 11 12 13 Ligne Cmd 1 2 R.L.E. => Run Length Encode Le run-length encoding, appelé en français le codage par plages, est un algorithme de compression de données sans perte en informatique. Data

Optimisations DefaultSegmentRowCount ProcessingTimeboxSecPerMRow Partitionnement /!\ Attention de ne pas limiter la taille des segments avec les partitions VERTIPAQ /DefaultSegmentRowCount => nombre de ligne maximum par segment défault 8M Doit être une puissance de deux, plus la valeur est importante, plus la compression et donc les requêtes seront optimisé mais plus le temps de processing sera important. VertiPaq\ProcessingTimeboxSec PerMRow => Temps maximum pour trouver le meilleur algo de tri défault 10S Plus la valeur est importante plus le temps de processing augmente mais meilleurs est le taux de compression et donc meilleur perf de requêtage (à changer lorsque que le nombre de colonne est important) Si vous avez des segments de 8M et des partitions de 1M … cela n’est pas efficace de la même façon Une partition de 9M de ligne dégrade les performances

Les outils

Profiler - Spool = Data from cache

Dax studio Facilite la lecture du profiler Permet de voir rapidement la répartition entre FE et SE L’option Merge XML sauve un temps précieux lors d’optimisation SSRS !

DMV - VertiPaq Analyzer http://www.sqlbi.com/tools/vertipaq-analyzer/

Démo

Attention En fonction de votre machine et de la taille de vos tables, les règles ne sont pas les mêmes Rappelez-vous 8 Millions de lignes par segment, 1 Cœur par segment. Il n’y a pas de règle immuable, utilisez les plans d’exécution afin de déduire des actions à prendre.

Conclusion Déplacer au maximum le calcul sur le Storage Engine SE est Multi-Thread, FE est Mono-Thread Le Cache SE est le seul cache réutilisé par les requêtes Réduire la précision lorsque non nécessaire Eviter les DateTime / séparer Date et Time Attention aux colonnes calculées Ne pas sur-partitionner

http://www.sqlbi.com/wp-content/uploads/DAX-Query-Plans.pdf https://www.sqlbi.com/articles/costs-of-relationships-in-dax/ https://www.sqlbi.com/articles/optimizing-dax-expressions-involving-multiple-measures/ https://www.microsoftpressstore.com/articles/article.aspx?p=2449192&seqNum=3 http://www.sqlbi.com/articles/optimizing-high-cardinality-columns-in-vertipaq/ https://sqlbits.com/Sessions/Event16/Optimizing_multi-billion_row_tables_in_Tabular

Ajouter nb row vs compression / partitionnement