Gestion des packages DB2 avec l'optimisation client pureQuery

Avec pureQuery Runtime, vous pouvez utiliser les collections de packages et les versions de package pour gérer les packages DB2 lorsqu'une application activée avec l'optimisation client pureQuery exécute les instructions SQL en mode statique sur une base de données DB2.
Dans le processus d'optimisation client pureQuery, l'étape de liaison crée des packages DB2 sur le serveur de base de données. Un package DB2 stocke les informations SQL nécessaires à l'exécution statique d'une application sur un serveur DB2. Un ensemble d'un ou plusieurs packages sur une base de données DB2 contient les instructions SQL exécutées par l'application. pureQuery Runtime mappe les packages aux instructions SQL dans le fichier pureQueryXML utilisé par l'application activée avec l'optimisation client pureQuery. Le processus de liaison effectue également les tâches suivantes :
  • Détermination des exigences de sécurité
  • Vérification de l'existence des objets de base de données
  • Détermination de la sélection du chemin d'accès, de l'utilisation de l'index et de l'ordre dans lequel les tables doivent être assemblées
  • Détermination de la nécessité ou non de réécriture des requêtes
  • Détermination de la nécessité ou non de fichiers de travail
  • Evaluation de l'opportunité de l'utilisation du parallélisme
En définissant les options de l'utilitaire Configure et les options BIND correctement et avec une correspondance adéquate des fichiers pureQueryXML, vous pouvez mettre en oeuvre des implémentations flexibles. Bon nombre d'applications statiques utilisées dans différents buts peuvent coexister au sein d'un même environnement, par exemple :
  • Une application unique utilisant des noms de table non qualifiés peut s'exécuter au sein du même système sur différents ensembles de tables.
  • Plusieurs instances d'une application peuvent s'exécuter simultanément sur plusieurs ensembles de données.
  • Plusieurs versions d'une application de production peuvent s'exécuter sur les mêmes tables avec les mêmes noms de package, mais différentes versions de package.
Important : Si les instructions SQL de votre application font référence à plusieurs emplacements en utilisant des noms de table en trois parties, vous devez lier le package à tous les emplacements référencés.

Collections de packages

Vous pouvez créer une collection de packages, nommée ensemble de packages, sur la base de données DB2. Vous utilisez l'utilitaire pureQuery Configure avec l'option -collection pour spécifier le nom de la collection pour les instructions SQL dans un fichier pureQueryXML. Ensuite, vous exécutez l'utilitaire pureQuery StaticBinder sur le fichier configuré pureQueryXML. Pour lier les instructions SQL dans le fichier pureQueryXML en plusieurs collections, vous pouvez appeler l'utilitaire StaticBinder avec l'option -bindOptions "COLLECTION(nom-collection)".

Versions de package

Au cours de l'étape de liaison du processus d'optimisation client pureQuery, l'action de liaison par défaut consiste à remplacer un package existant. Le nouveau package est lié avec les trois mêmes identifiants de package : emplacement, ID de collecte et nom du package.

Au cours d'une opération BIND, un package existe dans l'emplacement du serveur cible portant le même emplacement, le même ID de collecte et le même nom de package, et les packages précédents seront supprimés. Seul le nouveau package sera présent avec la marque de cohérence récemment mise à jour. Une fois cette action effectuée, les versions antérieures de l'application (ce qui, pour l'optimisation client pureQuery, signifie une version antérieure d'un fichier pureQueryXML) avec une marque de cohérence différente ne pourront pas s'exécuter.

Pour permettre à plusieurs versions de coexister au sein d'un système, sans que les applications ne fournissent la logique pour chaque version, vous pouvez utiliser l'option -pkgVersion lorsque vous exécutez l'utilitair e Configure. La spécification de l'option -pkgVersion crée une copie du fichier pureQueryXML dans laquelle une balise de version est annexée au nom du fichier. Chaque fois que Configure est appelé avec l'option -pkgVersion, une nouvelle marque de cohérence est générée et une copie du fichier est enregistrée avec cette marque de cohérence.

Remarque : Les informations relatives à cette chaîne de la version ne sont jamais utilisées par l'application ni par pureQuery Runtime pour trouver le package correspondant. Les informations sur la version sont utilisées uniquement pour gérer le nombre de packages sur un serveur et pour accepter plusieurs marques de cohérence pour l'application.

Lorsque vous utilisez plusieurs versions d'un package au moment de l'exécution, vous devez conserver des fichiers pureQueryXML distincts pour appeler différentes versions du package. Vous devez vous assurer que l'application activée avec l'optimisation client pureQuery utilise le fichier pureQueryXML adéquat pour exécuter la version correcte du package sur le serveur de base de données.


Commentaires