Query Cache

Query Cache effectue une recherche sur les données d'un cache en fonction des valeurs d'un ou de plusieurs champs de données et renvoie les données des enregistrements correspondants du cache, en les ajoutant à l'enregistrement du dataflow. La recherche de données dans un cache peut s'avérer plus performante que celle de données dans une base de données.

Il existe deux types de cache : les caches globaux et les caches locaux.

Options de cache global

Un cache global est un cache partagé à l'échelle du système qui réside en mémoire. Si vous souhaitez que le cache soit disponible pour différents dataflow, lorsque les données ne changent pas souvent ou restent relativement statiques ou encore lorsque l'espace de stockage n'est pas limité, optez pour un cache global. Un cache global est statique, car vous ne pouvez y écrire qu'une seule fois. Une fois créé, le cache ne peut pas être mis à jour.

Un cache global est créé par le stage Write to Cache. Avant d'utiliser un cache global, vous devez le renseigner à l'aide des données sur lesquelles vous souhaitez effectuer des recherches. Pour ce faire, créez un dataflow contenant le stage Write to Cache.

Nom de l'option

Description

Cache type

Sélectionnez l'option Cache global.

Nom du cache

Indique le cache que vous souhaitez interroger.

Pour créer un cache, utilisez le stage Write to Cache.

Champs de cache

Cette colonne contient une liste des champs du cache. Vous ne pouvez pas modifier les noms de ces champs.

Champs de stage

Cette colonne contient une liste des noms de champ utilisés dans le dataflow. Pour modifier le nom d'un champ, cliquez dessus et saisissez un nouveau nom.

Type

Cette colonne contient une liste des types de données de chaque champ de dataflow.

Include

Pour que la requête renvoie la valeur du champ de cache, cochez la case de cette colonne. Pour que la requête ne renvoie pas le champ de cache, décochez la case.

Valeur d'erreur par défaut

Indique la valeur à afficher dans le champ de dataflow en cas d'échec de la requête. La liste déroulante affiche les valeurs valides correspondant au type de données du champ interrogé. Par exemple, en cas d’entier, l’option affichée est -1.

Vous pouvez également saisir une valeur dans ce champ. Voir le tableau ci-dessous pour obtenir une liste des valeurs d’erreur par défaut valides pour différents types de données.
Type de données Valeur d'erreur par défaut valide ainsi que le type de données (entre parenthèses)
Null

-1

(Entier)

1899-

12-30

12:00:00

(Date/Heure)

1899-

12-30

(Date)

12:00:00

(Heure)

False Vide
Date
Entier
Long
Flottant

Grand

Decimal

Double
Chaîne
Durée
Date/Heure
Booléen

Champ Clé

Indique le champ du cache à utiliser comme clé de recherche. Si la valeur du champ de la colonne Champ d'entrée correspond à la valeur du champ de clé du cache, la requête renvoie les données de cet enregistrement dans le cache.

Champ de saisie

Indique le champ de dataflow dont la valeur va être utilisée comme clé. Si la valeur de ce champ correspond à la valeur du champ de clé du cache, la requête renvoie les données de cet enregistrement dans le cache.

Options de cache local

Un cache local est un cache temporaire uniquement utilisé lors de l'exécution du stage Query Cache. Query Cache construit le cache à partir de la table de base de données de votre choix. Il recherche ensuite les données du cache en fonction des champs de clé et des conditions de recherche et renvoie les données des enregistrements correspondants figurant dans le cache, en les ajoutant à l'enregistrement du dataflow.
Un cache local est dynamique, car il est créé lors de l'exécution d'un job de Query Cache. Une fois que Query Cache a terminé la lecture des données, le cache est automatiquement supprimé de la mémoire. Un cache local est recréé à chaque exécution du stage Query Cache. Si le cache va être utilisé dans un seul flux de travail ou si la table objet de la recherche change fréquemment, optez pour un cache local.
Nom de l'option Description
Cache type Indique l'option Cache local.

Connexion

Sélectionnez la connexion de base de données à utiliser. Vos choix varient en fonction des connexions qui sont définies dans le Gestionnaire de connexion de Management Console. Si vous devez établir une nouvelle connexion à la base de données, ou en modifier ou supprimer une existante, cliquez sur Gérer.

Si vous ajoutez ou modifiez une connexion de base de données, remplissez ces champs :
Nom de la connexion
Saisissez le nom de la connexion.: Ce nom est entièrement de votre choix.
Pilote de la base de données
Sélectionnez le type de base de données approprié.
Options de connexion
Indiquez l'hôte, le port, l'instance, le nom d'utilisateur et le mot de passe à utiliser pour vous connecter à la base de données.
Table/Vue Indiquez la table ou la vue de la base de données que vous souhaitez interroger.
Champs de la base de données Cette colonne contient une liste des champs de la base de données. Vous ne pouvez pas modifier les noms de ces champs.
Champs de stage Cette colonne contient une liste des noms de champ utilisés dans le dataflow. Pour modifier le nom d'un champ, cliquez dessus et saisissez le nouveau nom.

Type

Cette colonne contient une liste des types de données de chaque champ de dataflow.

Include

Pour que la requête renvoie la valeur du champ de cache, cochez la case de cette colonne. Pour que la requête ne renvoie pas le champ de cache, décochez la case.

Valeur d'erreur par défaut

Indique la valeur à afficher dans le champ de dataflow en cas d'échec de la requête. La liste déroulante affiche les valeurs valides correspondant au type de données du champ interrogé. Par exemple, en cas d’entier, l’option affichée est -1.

Vous pouvez également saisir une valeur dans ce champ. Voir le tableau ci-dessous pour obtenir une liste des valeurs d’erreur par défaut valides pour différents types de données.
Type de données Valeur d'erreur par défaut valide ainsi que le type de données (entre parenthèses)
Null

-1

(Entier)

1899-

12-30

12:00:00

(Date/Heure)

1899-

12-30

(Date)

12:00:00

(Heure)

False Vide
Date
Entier
Long
Flottant

Grand

Decimal

Double
Chaîne
Durée
Date/Heure
Booléen
Champ Clé Indique le champ de la base de données à utiliser comme clé de recherche. Si la valeur du champ de la colonne Champ d'entrée correspond à la valeur de Champ clé dans la base de données, la requête renvoie les données de cet enregistrement de la base de données.
Type Type de données de la valeur Champ Clé
Opérateur Sélectionnez l'opérateur requis. Les opérateurs pris en charge sont les suivants :
  • =
  • !=
  • >
  • >=
  • <
  • <=
Est constant Cochez cette case si vous souhaitez que la requête renvoie une valeur basée sur une constante que vous saisissez, au lieu du champ d'entrée.
Champ de saisie Indique le champ de dataflow dont la valeur va être utilisée comme clé. Si la valeur de ce champ correspond à la valeur de Champ clé dans la base de données, la requête renvoie les données de cet enregistrement de la base de données.

Options de cache avancé

Un cache avancé est un cache temporaire semblable au cache local. Il est utilisé lors de l'exécution du stage Query Cache. Il construit le cache en fonction de la requête SQL qui lit les données des tables mentionnées dans la requête. Il recherche ensuite les données du cache en fonction des clés de recherche mentionnées dans la clause where et renvoie les données des enregistrements correspondants figurant dans le cache, en ajoutant les données de l'enregistrement en cache à l'enregistrement du dataflow.
Un cache avancé est dynamique, car il est créé lors de l'exécution d'un job de Query Cache. Une fois que Query Cache a terminé la lecture des données, le cache est automatiquement supprimé de la mémoire. Un cache avancé est recréé à chaque exécution du stage Query Cache. Sélectionnez une option de cache avancé en cas de lecture des données de plusieurs tables et de besoins en requête complexes à exécuter pour la création de cache.
Nom de l'option Description
Cache type Indique l'option Cache avancé.
Connexion

Sélectionnez la connexion de base de données à utiliser. Vos choix varient en fonction des connexions qui sont définies dans le Gestionnaire de connexion de Management Console. Si vous devez établir une nouvelle connexion à la base de données, ou en modifier ou supprimer une existante, cliquez sur Gérer.

Si vous ajoutez ou modifiez une connexion de base de données, remplissez ces champs :

Connection Name
Saisissez le nom de la connexion.: Ce nom est entièrement de votre choix.
Database Driver
Sélectionnez le type de base de données approprié.
Connection Options
Indiquez l'hôte, le port, l'instance, le nom d'utilisateur et le mot de passe à utiliser pour vous connecter à la base de données.
Requête Fournit la requête SQL permettant de lire les données de la base de données. La requête peut lire les données de plusieurs tables.
Ce texte est utilisé comme clause where pour rechercher le cache créé en fonction de la requête. L'utilisateur peut spécifier le champ d'entrée dans la requête à l'aide de l'opérateur $ comme préfixe. Par exemple, _id = ${_inputId}, où _inputId est le champ d'entrée et _id la colonne de recherche du cache.
Obtenir les champs Cette opération renseigne la grille avec les champs qui sont sélectionnés pour être mis en cache à l'aide de la requête SQL.
Champs de la base de données Cette colonne contient une liste des champs récupérés dans la base de données. Vous ne pouvez pas modifier les noms de ces champs.
Champs de stage Cette colonne contient une liste des noms de champ utilisés dans le dataflow. Pour modifier le nom d'un champ, cliquez dessus et saisissez le nouveau nom.
Type Cette colonne contient une liste des types de données de chaque champ de dataflow.

Valeur d'erreur par défaut

Indique la valeur à afficher dans le champ de dataflow en cas d'échec de la requête. La liste déroulante affiche les valeurs valides correspondant au type de données du champ interrogé. Par exemple, en cas d’entier, l’option affichée est -1.

Vous pouvez également saisir une valeur dans ce champ. Voir le tableau ci-dessous pour obtenir une liste des valeurs d’erreur par défaut valides pour différents types de données.
Type de données Valeur d'erreur par défaut valide ainsi que le type de données (entre parenthèses)
Null

-1

(Entier)

1899-

12-30

12:00:00

(Date/Heure)

1899-

12-30

(Date)

12:00:00

(Heure)

False Vide
Date
Entier
Long
Flottant

Grand

Decimal

Double
Chaîne
Durée
Date/Heure
Booléen

L'onglet Exécution

Les options disponibles dans l'onglet Exécution sont communes aux caches globaux, locaux et avancés.

Nom de l'option

Description

Match options

Indique comment procéder s'il existe plusieurs enregistrements du cache correspondant à la requête.

Renvoyer toutes les correspondances
Renvoie les données de tous les enregistrements du cache dont la valeur correspond à celle du ou des champs de clé.
Renvoyer le premier enregistrement correspondant
Renvoie uniquement les données du premier enregistrement du cache dont la valeur correspond à celle du ou des champs de clé.
Renvoyer le dernier enregistrement correspondant
Renvoie uniquement les données du dernier enregistrement du cache dont la valeur correspond à celle du ou des champs de clé.
Options de stage
Cette section répertorie les options de dataflow utilisées dans la requête SQL de ce stage et vous permet de fournir une valeur par défaut pour toutes ces options. La colonne Nom répertorie les options, tandis que vous pouvez saisir les valeurs par défaut dans la colonne Valeur correspondante.
Remarque : La valeur par défaut fournie ici est également affichée dans la section Map dataflow options to stages de la boîte de dialogue Options de dataflow. La boîte de dialogue vous permet également de modifier la valeur par défaut. En cas de conflit des valeurs par défaut fournies pour une option via Options de stage, Options de dataflow et Job Executor, l’ordre de priorité est le suivant : valeur fournie via Job Executor > valeur définie via la boîte de dialogue Options de dataflow > valeur saisie via Options de stage.