Explication de SAP Data Services
Accès aux données
Développement de jobs et de flux de données
Correction des erreurs des jobs d'arrière-plan
Utilisation de fonctions, de scripts et de variables
Interrogation de données à l'aide de transformations de plateforme
Fractionnement et combinaison des données avec des transformations de plateforme
Gestion des erreurs et récupération à partir d'une défaillance
Mise à jour des données
Conception de scénarios ETL avancés à l'aide des transformations SAP Data Services Integrator
Optimisation des performances

Définition d'options pour améliorer les performances

Objective

After completing this lesson, you will be able to définir des options pour améliorer les performances

Mise en cache des données

Vous pouvez améliorer les performances des transformations de données qui se produisent dans la mémoire en mettant en cache le plus de données possible. En mettant en cache les données, vous limitez le nombre de fois où le système doit accéder à la base de données. Les données mises en cache doivent tenir dans la mémoire disponible.

Le tableau suivant contient les opérations qui bénéficient de la mise en cache des données en mémoire pendant le traitement du flux de données.

Opérations pouvant bénéficier de la mise en cache des données

OpérationDescription
JointuresÉtant donné que Data Services doit lire la source interne d'une jointure pour chaque ligne d'une source externe, mettez en cache une source lorsqu'elle est utilisée comme source interne dans une jointure.
Comparaisons de tablesÉtant donné que Data Services doit lire une table de comparaison pour chaque ligne d'une source, mettez en cache la table de comparaison.
RecherchesLorsqu'une table de recherche existe dans une base de données distante, mettez en cache la table en mémoire pour réduire les temps d'accès.

Mise en cache des jointures

L'opération de jointure dans une transformation Query utilise les paramètres de cache de la source, sauf si vous modifiez le paramètre dans l'éditeur de requêtes.

Dans l'éditeur de requêtes, le paramètre de cache est défini sur Automatique par défaut. L'option Automatique reporte les options de cache de la table source.

Le tableau suivant montre la relation entre les paramètres de cache dans la source et les paramètres de cache dans l'éditeur de requêtes, et le paramètre de cache effectif pour la jointure.

Paramètres de cache

Paramétrage de la mémoire cache dans la sourceParamétrage de la mémoire cache dans l'éditeur de requêtesParamètre de cache effectif
OuiAutomatiqueOui
NonAutomatiqueNon
OuiOuiOui
NonOuiOui
OuiNonNon
NonNonNon

Remarque

Pour en savoir plus sur la mise en cache des jointures, voir le Guide d'optimisation de la performance :

https://help.sap.com/docs/SAP_DATA_SERVICES/e54136ab6a4a43e6a370265bf0a2d744/5756b6256d6d1014b3fc9283b0e91070.html

Types de cache de données

Vous pouvez utiliser deux types de mise en cache différents pour les opérations dans un flux de données.

  • In-Memory : à utiliser lorsque votre flux de données traite une petite quantité de données qui s'intègre dans la mémoire.
  • Cache paginable : à utiliser lorsque votre flux de données traite une grande quantité de données qui ne tient pas dans la mémoire.

Les administrateurs sélectionnent un emplacement de cache paginable pour enregistrer du contenu au-delà de la limite de 2 Go de RAM. L'emplacement du cache paginable est configuré dans le Gestionnaire de serveurs et l'option permettant d'utiliser le cache paginable est sélectionnée dans la boîte de dialogue Propriétés du flux de données.

Créez des banques de données de cache persistant en sélectionnant Cache persistant comme type de base de données dans la boîte de dialogue Créer une banque de données. La banque de données de cache persistant nouvellement créée s'affiche dans la liste des banques de données et peut être utilisée comme source dans les jobs.

Chargement par lots

Le chargement par lots est utilisé lorsque vous devez charger de grandes quantités de données avec de bonnes performances. Lorsque vous utilisez le chargement par lots, vous n'insérez pas uniquement des données une ligne à la fois, mais vous utilisez des méthodes plus efficaces basées sur la structure de la base de données spécifique.

SAP Data Services prend en charge le chargement par lots dans la plupart des bases de données prises en charge qui vous permettent de charger et, dans certains cas, de lire les données en masse plutôt que d'utiliser des instructions SQL.

Éléments à prendre en compte pour le chargement par lots

La liste suivante contient des considérations générales lorsque vous utilisez le chargement par lots et la lecture :

  • Spécifiez les options de chargement par lots dans l'éditeur de table cible Data Services dans les onglets Options et Options du Bulk Loader.
  • La plupart des bases de données ne prennent pas en charge le chargement par lots avec un modèle de table.
  • Les codes d'opération que vous pouvez utiliser avec le chargement par lots diffèrent d'une base de données à l'autre. La plupart d'entre eux prennent en charge les codes d'opération NORMAL et INSERT, mais seuls certains d'entre eux prennent en charge UPDATE et DELETE.

Remarque

Classement des jointures

Vous pouvez améliorer les performances des opérations de jointure de la transformation Query en affectant un classement de jointure à chaque jointure de votre configuration.

Lorsque vous classez chaque jointure,

  • SAP Data Services prend en compte le classement relatif aux autres tables et fichiers joints dans le flux de données.
  • L'optimiseur, qui est l'application d'optimisation dans le moteur Data Services, joint les sources ayant des valeurs de rang supérieur avant de joindre les sources ayant des valeurs de rang inférieur.
  • L'ordre d'exécution dépend du classement de jointure et, pour les jointures externes gauches, de l'ordre défini dans la clause FROM.

Combinaison de jointures

L'optimiseur base la manière dont il joint vos données comme suit :

  • L'optimiseur peut combiner les jointures des transformations Query consécutives en une seule transformation Query, en réaffectant les classements de jointures.
  • L'optimiseur peut prendre en compte les options de classement de jointure en amont lorsqu'il effectue des jointures.

Remarque

Tranche de processus

Vous pouvez également optimiser vos jobs avec le découpage de processus en fractionnant les flux de données en flux de données secondaires.

Flux de sous-données

  • Travaillez sur des jeux de données plus petits et/ou moins de transformations afin que chaque processus consomme moins de mémoire virtuelle.
  • Exploitez davantage de mémoire physique par flux de données car chaque flux de données secondaire peut accéder à 2 Go de mémoire.

Le découpage de processus est disponible dans l'onglet Avancé de la transformation Query. Vous pouvez exécuter chaque opération gourmande en mémoire en tant que processus distinct, comme illustré dans la figure suivante :