> Tech > Méthodes d’accès au niveau enregistrement (RLA, record-level access)

Méthodes d’accès au niveau enregistrement (RLA, record-level access)

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

Avant d’utiliser PEX pour repérer les points à améliorer, il importe de comprendre comment le compilateur traduit les opérations de lecture et écritures HLL. Du point de vue HLL, vous pouvez classer les méthodes RLA (record-level access) d’après deux caractéristiques :

• si les enregistrements sont ordonnés logiquement

par clé ou par numéro d’enregistrement relatif (RRN, relative record number),
• si les enregistrements d’une suite sont extraits « séquentiellement » (c’est-à-dire dans l’ordre de clé ou de RRN) ou pas.

Pour l’accès non séquentiel, on utilise couramment le terme « accès aléatoire », même si les enregistrements sont rarement extraits dans un vrai ordre aléatoire. Les compilateurs ILE RPG et ILE Cobol permettent aussi d’accéder à un fichier ouvert avec des combinaisons d’opérations d’I/O séquentielles et non séquentielles (par exemple, en Cobol, avec la clause Access Is Dynamic). Pour voir comment les méthodes d’accès indexées fonctionnent, voir « A Closer Look at Keyed Access Methods » encadré de cet article sur www.itpro.fr Club Abonnés. Deux autres facteurs déterminent la manière dont DB2 UDB for iSeries traite les opérations d’I/O HLL :

• si les enregistrements sont extraits pour une mise à jour potentielle ou pour l’entrée seulement
• le niveau d’isolation de transactions (c’est-à-dire le contrôle de commitment) en vigueur pour l’opération

Chaque occurrence d’une opération HLL de lecture, d’écriture ou de positionnement est convertie en un appel adressé à un module d’I/O de bases de données i5/OS. Ces modules commencent par les caractères QDB. Le tableau de la figure 1 établit une corrélation entre une opération d’I/O HLL et le module QDB correspondant.

On voit que l’utilisation de l’opération RPG READE résulte en un appel adressé au module QDBGETKY, et que l’opération RPG READ résulte en un appel adressé à QDBGETSQ ou QDBGETM. READE est probablement l’une des opérations les plus mal comprises et mal utilisées du langage RPG. Pour bien comprendre la portée de la mauvaise utilisation de cette opération, il faut considérer l’utilisation prévue du programme et l’objectif visé à l’exécution.

En substance, si le programme vise un environnement interactif où le temps de réponse doit être inférieur à la seconde, il est acceptable d’utiliser un nombre relativement petit d’opérations d’I/O aléatoires. En revanche, si le programme est destiné à un environnement batch où de grands nombres d’enregistrements seront lus, on préfèrera des opérations séquentielles bloquées. Conscient de cette différence, le DBA d’Acme a parfaitement compris qu’une méthode unique d’accès à la base de données (comme l’opération RPG READE qu’utilise le processus batch nocturne d’Acme) ne peut pas être utilisée dans tous les environnements avec des résultats satisfaisants. Pour améliorer la performance du processus batch nocturne d’Acme, il fallait utiliser une autre méthode d’accès pour lire les données.

Téléchargez cette ressource

Préparer l’entreprise aux technologies interconnectées

Préparer l’entreprise aux technologies interconnectées

Avec la « quatrième révolution industrielle », les environnements hyperconnectés entraînent de nouveaux risques en matière de sécurité. Découvrez, dans ce guide Kaspersky, comment faire face à cette nouvelle ère de vulnérabilité.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010