La gestion de performance sur SAP HANA Studio

La gestion de performance sur SAP HANA Studio

Introduction

SAP HANA, pour High-performance ANalytic Appliance, est conçu pour être un système de gestion de bases de données très performant. Les outils de transformation des données qu’il propose au sein de son interface ainsi que l’architecture du logiciel en font un logiciel pertinent pour ses utilisateurs. Cet article propose de découvrir la conception et les fonctionnalités clés de l’outil qui lui confèrent un rôle de chef d’orchestre de premier plan pour la gestion des données.

SAP HANA : gestion des données optimisée

SAP HANA utilise le stockage in-memory, qui consiste à stocker des données compressées dans la RAM qui permet la lecture et l’édition de données et donc de gagner en efficacité par rapport à d’autres systèmes se basant sur disque. Pour stocker ses données, SAP HANA dispose du stockage en colonne, au lieu du stockage en ligne. Explications :

SAP HANA stockage colonne

Stockée en ligne, la table précédente serait enregistrée de la façon suivante :

Explication du stockage en ligne

Une fois les données organisées en colonne, il est possible d’en agréger les attributs afin de compresser davantage la donnée :

Explication du stockage en colonne

Ce fonctionnement permet aussi un accès séquentiel également très avantageux. Le stockage en ligne demeurant parfois plus adapté – les données sont entièrement retriées lors de leur mise à jour – SAP HANA utilise la méthode de stockage la plus adaptée et transfère les données. Lorsqu’une table est créée manuellement, il est possible de choisir le type de stockage de cette table, en sachant que par défaut, celle-ci est une table de colonnes.

En termes de gestion de calculs, SAP HANA les opère le plus possible au niveau de la couche de stockage des données, ayant pour effet de libérer la couche applicative pour qu’elle se focalise sur ses fonctions clé de traitement.

Analyse de données et performance

SAP HANA propose à ses utilisateurs de modéliser des vues analytiques. Elles consistent en la construction d’un modèle de données schématique qui traite les données de façon persistante. Recourir à ce type de vues par rapport à des requêtes SQL présente des avantages multiples, d’autant plus sur le plan de la performance.

La modélisation de SAP HANA permet de limiter le nombre de jointures par rapport à un modèle SQL classique : la modélisation prend en charge les calculs à partir des champs disponibles dans la même table, contrairement à SQL qui nécessite de passer par des sous-requêtes imbriquées. Les opérations de manipulation des données sont ainsi considérablement allégées. Précalculer les tables via la persistance des données limite également les jointures, et permet d’injecter des données déjà agrégées, économisant ainsi l’allocation de mémoire vive.

Restons connectés !

Inscrivez-vous à la newsletter Rapid Views !​

Soyez notifiés de nos derniers articles de blog, de nos prochains webinars et nos actualités !

Les bonnes pratiques pour la construction d’une vue analytique optimisée

L’éditeur SAP propose quelques recommandations afin de construire une vue performante.

Performance icone Le paramétrage des cardinalités lors des jointures : non obligatoire, ce paramètre est cependant requis pour accélérer la recherche. La cardinalité indique le nombre de lignes d’une table qui correspond au nombre de lignes de la table jointe. La correspondance se fait sur une ou plusieurs (n) lignes. Afin d’identifier la cardinalité entre deux tables, l’utilisateur peut s’aider des clés de chaque table qui indiquent un enregistrement unique. En général, un left join entre une table de fait et une table de dimension se dote d’une cardinalité de N à 1.

Illustration : dans le cadre d’une jointure entre une table de commandes client (données d’en-tête) avec une table de description client (nom, adresse…), chaque référence client ne correspond qu’à une seule ligne de description. A l’inverse, chaque description peut être affectée sur plusieurs lignes de la table de commandes puisqu’un même client va effectuer plusieurs commandes.

L’intérêt de la saisie de la cardinalité en termes de performance réside donc dans le fait que lorsque le nom du client (table droite) est affecté à la référence client (table gauche), l’outil sait qu’il peut arrêter de parcourir les autres lignes de la table. Si la cardinalité n’était pas indiquée, il aurait parcouru toute la table, de manière inutile car aucun autre résultat n’aurait été trouvé. Cette opération aurait été effectuée pour chaque enregistrement de la table gauche.

La cardinalité se paramètre dans l’éditeur de jointures :

Cardinalite éditeur jointures

Performance iconeLa gestion des clés : paramètre également non obligatoire, il est cependant primordial d’associer les clés dans la couche sémantique de la vue analytique dans un souci de performance. SAP HANA crée ainsi automatiquement des index sur ces champs clé, ce qui est pertinent sachant que SAP HANA ne prend pas en compte la création d’index sur les vues analytiques. Les champs clé d’une table ou d’une vue sont ceux qui permettent l’identification d’une ligne unique. Pour comprendre cette notion, nous pouvons reprendre l’exemple de la table des commandes client, mais cette fois-ci au niveau des postes. Chaque ligne sera unique dès lors que le couple référence commande / référence poste sera lu : les champs clé sont alors identifiés. Les clés d’une vue se paramètrent au niveau sémantique :

Parametrage clés niveau semantique

Performance iconeLa bonne gestion des quantités d’enregistrements : il est primordial de gérer correctement le nombre de lignes dans la construction d’une vue. Deux vues modélisées différemment, mais ayant les mêmes données d’entrée et de sortie, peuvent nécessiter de recourir à des quantités de ressources bien différentes selon la façon dont elles sont construites. Le concepteur doit garder en tête que chaque opération de modélisation doit se faire sur le nombre de lignes le plus petit possible. Cet élément implique différentes recommandations :

  • Placer les filtres le plus près possible des tables interrogées
  • Encapsuler les tables dans une projection pour filtrer immédiatement les données
  • Effectuer les calculs sur le plus petit nombre possible d’enregistrements : en général, dans une projection proche de la sémantique, après filtres et agrégations.

Performance icone Les jointures de tables sont à effectuer en priorité sur des colonnes clé ou indexées pour accélérer la recherche.

Performance iconeLa réutilisation des vues déjà existantes plutôt que de créer un modèle pour chaque besoin. Grâce à la persistance des vues analytiques sur SAP HANA, les calculs n’ont pas besoin d’être opérés à nouveau. C’est également dans cette logique que SAP HANA met à disposition l’objet Star Join, qui consiste à faire graviter des vues de dimension (comprenant des attributs, qui sont des vues sans mesures) autour d’une vue de fait. Au-delà du gain de temps évident au moment de la conception, le gain de performance est immense grâce à la persistance des vues.

Il est donc recommandé de construire des vues de dimension pour modéliser les attributs fréquemment requis, même s’il n’y a que de champs : par exemple, un code de TVA et sa description. L’utilisation des jointures en étoile est vivement recommandée par l’éditeur.

L’analyse des performances

SAP HANA propose un outil de diagnostic et d’analyse de performance afin de confirmer la bonne gestion des vues modélisées : PlanViz. Afin de l’exploiter, il est nécessaire de basculer sur la perspective SAP HANA PlanViz.

Pour analyser une vue, il est nécessaire d’en interroger les données via le script SQL : 

Analyse de données script SQL

Sur la console SQL ainsi ouverte, effectuer un clic droit pour lancer l’exécution de l’analyseur de performances :

Analyseur de performance SAP Hana

Les informations de performances sont ensuite disponibles à un niveau global ou détaillé, puisqu’il est possible de rentrer dans chaque détail d’opération :

Information performances SAP HANA

Des informations de performance sont également fournies dans les onglets « timeline », « operator list », « tables used », « performance trace ».

Les avertissements en matière de nombre d’enregistrements sont paramétrables dans les préférences de SAP HANA studio (SAP HANA > Modeler > Performance Analysis), tout comme les codes couleur des opérations (SAP HANA > PlanViz > Graph > Appearance) :

Configuration apparence avertissements

Conclusion

SAP HANA est un outil favorable à la mise en place d’un environnement performant, capable de traiter efficacement un volume de données très important. L’utilisation des vues analytiques comme alternative aux requêtes SQL est vivement recommandée dans les cas où la performance est affaiblie. Les bonnes pratiques de modélisation sont essentielles pour obtenir un modèle plus performant.

Les calculs et formules disponibles dans le moteur de modélisation de vues analytiques sont parfois limités ; pour pallier les quelques situations bloquantes, le concepteur de vues peut être amené à utiliser des tables fonctions ; celles-ci sont également performantes, car persistantes, et surtout, sont insérables dans des vues de calcul afin de profiter des avantages de la modélisation de vue analytique.

L’avis de l’expert

SAP HANA est une solution performante et efficace pour la gestion des données. Son architecture in-memory et son stockage en colonne garantissent des performances de traitement rapides. Il est important de recourir aux bonnes pratiques de modélisation : parmi les fonctionnalités clés mais trop peu utilisées de la modélisation sur SAP HANA, il faut insister sur le Star Join, qui permet de réduire les jointures et d’améliorer les temps de réponse. Le Star Join présente de nombreux avantages : grâce à la persistance des vues analytiques, les calculs sont optimisés et les performances restent constantes même avec de grandes quantités de données.

SAP HANA se distingue par sa capacité à fournir des résultats pertinents en un temps record. Son approche innovante permet aux utilisateurs de tirer pleinement parti de leurs données et de prendre des décisions à partir d’informations mieux contrôlées.

Newsletter
Rapid Views

Soyez notifiés de nos derniers articles de blog, de nos prochains webinars et nos actualités !

Les derniers articles