Quid des performances BW sur HANA ?

Vous venez de migrer votre BW sur HANA, et les performances BW sont au rendez-vous sur la plupart des flux sans rien faire. Vous êtes ensuite passés à la deuxième étape en supprimant l’étape d’agrégation que représentaient les cubes et devenue désormais inutile. Le plus souvent, les gains observés sont suffisants et ne nécessiteront pas d’optimisation particulière. Cependant, certains flux sensibles ou à grosse volumétrie peuvent demander quelques efforts supplémentaires pour bénéficier complètement de la puissance de HANA.

L’un des leviers pour améliorer les temps de chargement est d’optimiser les transformations. Comme le schéma ci-dessous le montre, il est possible depuis la 7.4 de pousser l’exécution des transformations dans HANA. Il y a cependant un grand pré-requis : ne pas avoir d’ABAP dans la transformation! Cet article revient sur les différentes options pour optimiser vos performances de l’optimisation de l’ABAP pour HANA jusqu’à l’exécution complète dans HANA.

Transformations - BW sur HANA



Option 1 : Supprimez l’ABAP de vos transformations en revenant au standard.

C’est la solution la plus simple pour booster vos performances. Il arrive souvent que l’ABAP présent dans les transformations soit un simple enrichissement de vos données sources. Voici des exemples de transformations avec ABAP pouvant revenir simplement au standard:

  • Lecture d’attributs de donnée de base (ou de DSO) => à remplacer par les fonction standards de master data lookup disponibles depuis la 7.3.
  • Manipulations de date ou de texte (style concaténation de 2 textes) => peuvent être réalisées via des formules. C’est un retour en arrière assez surprenant, alors que les bonnes pratiques BW conseillaient dans le passé de préférer l’ABAP aux formules pour obtenir de meilleures performances BW…

Une fois la standardisation de la transformation terminée, il reste à modifier le processing mode du DTP en “SAP HANA execution” pour que le DTP s’exécute dans HANA. Par défaut, le DTP tournera dans BW même si la transformation est compatible HANA.


Option 2 : optimisez votre ABAP pour HANA

L’ABAP compris dans vos transformations est trop élaboré pour revenir au standard ? Quelques bonnes pratiques permettent déjà d’améliorer les performances de vos routines ABAP. A noter qu’un prochain article du blog Censio reviendra sur l’optimisation de l’ABAP pour HANA.

  • Si vous ne l’avez pas déjà fait pendant la migration, il est vivement recommandé de lancer le programme ZBW_ABAP_ANALYZER (note OSS 1847431). Ce programme analyse toutes les routines de votre système BW et identifie un certain nombre d’optimisations à appliquer.
  • Performances BW : exemple de résultat de ZBW_ABAP_ANALYZER

  • Bien spécifier les champs sélectionnés dans un SELECT (pas de “SELECT *”).
  • Optimisez for “SELECT FOR ALL ENTRIES” pour HANA en utilisant l’instruction “dbsl_equi_join”. (voir note OSS 1662726)
  • Augmenter la taille des paquets de données dans les DTP. Essayez par exemple des paquets de 100.000 ou 150.000 lignes au lieu des 50.000 lignes par défaut.

Option 3 : Appeler une procédure SQLScript dans HANA.

Si l’optimisation de l’ABAP de vos transformations n’a pas suffit pour obtenir les performances attendues, il est temps de vous lancer dans les procédures SQLScript! La plateforme SAP Netweaver permet depuis BW 7.4 SP8 d’appeler simplement depuis une expert routine des procédures SQLScript dans HANA à l’aide des procédures AMDP (ABAP Managed Database Procedures).
Concrètement une procédure AMDP est créée directement dans BW comme n’importe quel objet du workbench. Ce qui a pour avantages de faciliter le transport et de ne pas avoir à se soucier de l’appel d’une procédure HANA depuis BW (tout est intégré).



BW - AMDP


La transformation tourne alors directement dans HANA avec des performances normalement sensiblement améliorées par rapport à la transformation en ABAP. L’exemple ci-dessous montre une expert routine transformant plusieurs zones de type timestamp en date:

Performances BW - AMDP 2

Laisser un commentaire