Introduction
Comme nous vous l’annoncions il y a quelques mois (lien), la version 4.2 de BO est maintenant disponible au téléchargement. Vous pouvez d’ores et déjà migrer vos plateformes vers cette version.
Dans cet article, nous allons vous présenter une des principales nouveautés de cette version : la parallélisation des requêtes à l’actualisation d’un rapport.
Qu’est ce que la parallélisation des requêtes et quel en est l’objectif ?
1) La parallélisation des requêtes sera utile seulement pour les rapports contenant plusieurs requêtes.
2) Quelle différence par rapport aux précédentes versions de BO ?
Comme le présente le schéma ci-dessous, les requêtes vont être exécutées simultanément et non plus les unes à la suite des autres.
3) Quels sont les résultats attendus ?
Cette fonctionnalité doit réduire le temps d’exécution des requêtes et par effet de bord, réduire le temps de mise à jour des rapports. Dans le graphique d’exemple ci-dessus, SAP présente un gain dans l’actualisation d’un rapport contenant 3 requêtes. Le temps d’exécution passant dans ce cas de 17 secondes à 10 secondes. Dans la suite de cette présentation, nous réaliserons quelques tests et discuterons de ses limites.
Comment configurer cette option ?
Cette option doit être configurée dans la console d’administration (CMC), dans l’outil « Information design tool » et dans l’outil « Universe design tool »
- Dans les outils « Universe design tool » et « Information design tool », le paramètre « Max Parallel Queries per connection » est à modifier dans le paramétrage des connexions.
- Dans la console d’administration (CMC), le paramètre « Max Parallel Queries per document » est à activer dans les propriétés du serveur « Web Intelligence Processing Server »
Quelles sont les restrictions fixées par SAP ?
Cette fonctionnalité présente des restrictions d’utilisation qu’il est important de noter :
- Il ne peut pas y avoir plus de 4 requêtes simultanées sur la même connexion de base de données.
- Certains types de connexions ne supportent pas la parallélisation :
- Fichiers Excel
- Analysis Views
- Web Services
Dans quel cadre la fonctionnalité est elle active ?
La parallélisation des requêtes fonctionne dans le périmètre suivant :
- Applications :
- Webi HTML
- Webi Applet
- Webi Rich Client
- Planification dans le Bi Launch Pad
- REST SDK
- Fournisseurs de données :
- Univers UNV
- Univers UNX
- SAP HANA Direct Access
- SAP BW
- SQL à la carte
- Fichier textes
Test de la fonctionnalité
Afin de valider les bénéfices de cette nouvelle fonctionnalité, nous allons effectuer un test de rafraichissement sur un rapport multi-requête avec parallélisation et sans parallélisation.
Le rapport va être construit à partir de l’univers « efashion » (Univers installé par défaut sur chaque plateforme BO). Ce rapport va être constitué de 4 requêtes (voir ci-dessous).
Dans notre exemple nous utilisons la même connexion relationnelle pour l’ensemble des requêtes, comme nous l’avons vu précédemment dans les restrictions, il n’est pas nécessaire de faire un test avec plus de 4 requêtes.
Le rapport sera exécuté via une planification et le temps de rafraichissement du rapport sera récupéré dans le résultat de la planification.
Requête 1 :
Test 1 | Test 2 | Test 3 | Moyenne | |
Avec parallélisation : | 55s | 39s | 42s | 45s |
Sans parallélisation : | 91s | 82s | 79s | 84s |
On peut constater que dans le cadre de ce test, l’utilisation de la parallélisation permet de réduire considérablement le temps de rafraichissement du rapport.
Limites de la parallélisation
Comme nous l’avons vu, la parallélisation permet dans certains cas de réduire le temps de rafraichissement d’un rapport. Cependant, dans certaines conditions la parallélisation peut avoir un effet nul voire négatif :
- Cas ou les requêtes qui s’exécutent simultanément sont très conséquentes et que le serveur de base de donnée n’est pas correctement dimensionné pour les traiter en parallèle. Dans ce cas l’exécution des requêtes en parallèle pourra prendre plus de temps que l’exécution les unes à la suite des autres.
- Cas ou le document contient plus de 4 requêtes sur la même connexion relationnelle. Le bénéfice de la parallélisation sera limité car toutes les requêtes ne pourront être exécutées en parallèle, seulement 4.
- Cas ou une des requêtes du rapport prend à elle seule la majorité du temps d’exécution, le bénéfice sera nul.
- Cas ou le document n’a qu’une seule requête, le bénéfice est nul.
CONCLUSION DE L’EXPERT
Cette nouvelle fonctionnalité de la BI 4.2 devrait améliorer de manière intéressante les temps d’actualisation de certains rapports. Les cas dans lesquels cette fonctionnalité est pénalisante nous semblent peu nombreux. Nous vous conseillons donc de configurer correctement cette fonctionnalité sur votre plateforme 4.2.