IMS (base de données)

Un article de Wikipédia, l'encyclopédie libre.

Pour les articles homonymes, voir IMS.

IMS (pour Information Management System) a débuté comme une base de données hiérarchique créée par IBM en 1966 pour le compte de Rockwell et le programme Apollo. Il fut utilisé pour suivre les factures des matériels pour le programme Saturn V.

IMS est toujours en cours de fonctionnement 40 ans après son lancement et continue à donner lieu à des développements sous le système d'exploitation MVS d'IBM (OS/390, z/OS).

Il y a trois principes de base pour une base de données hiérarchique :

  1. Full Function
    • 'Full Function' est un langage qui ressemble beaucoup au 'Data Language/1 (DL/I)' développé pour le programme Apollo. Les bases de données 'Full Function' peuvent posséder des index primaires et secondaires et sont accessibles via des requêtes DL/I.
    • Ces bases de données disposent d'un grande variété de méthodes d'accès, bien que les 'Hierachical Direct (HDAM)' et les 'Hierarchical Indexed Direct (HIDAM)' soit privilégiées.
    • Les autres possibilités sont les 'Simple Hierarchical Indexed Sequential (SHISAM)', les 'Hierarchical Sequential (HSAM)' et les 'Hierarchical Indexed Sequential (HISAM)'.
    • Dans ce type de base de données, les données sont stockées en utilisant la méthode 'VSAM' (une méthode d'accès native du système MVS) ou la méthode 'OSAM' (Overflow Sequential, une méthode spécifique qui optimise les accès pour IMS). La méthode 'OSAM' possède l'avantage de disposer d'une gestion spécialement conçue pour elle dans les bases IMS (OSAM Sequential Buffering) qui augmente sa performance.
  2. La base de données IMS dispose aussi d'accès rapides - 'Data Entry Databases (DEDB) et 'Main Storage Databases (MSDB). Ces deux sortes de bases de données ne permettent pas n'importe quelle indexation, mais sont conçues pour de très hauts débits d'information. Sur les versions récentes d'IMS, la méthode 'MSDB' peut être remplacée par du stockage virtuel (VSO - Virtual Storage Option).
  3. Avec la version 7.1 d'IMS, une nouvelle extension 'haute disponibilité' a été introduite (HALDB - High Availability Large Database). Elle permet une meilleure disponibilité des données, une meilleure gestion de très grand volumes de données (et même une ré-organisation en-ligne avec la version 9).

IMS est également un gestionnaire de transactions. Le gestionnaire interagit avec un utilisateur final (connecté via VTAM ou TCP/IP et, de la même manière qu'une interface web utilisant des scripts CGI, fournit une interface permettant d'effectuer des requêtes ou de mettre à jour des bases de données IMS ou DB2).

IMS utilise le principe des files de requêtes. Une transaction entrante (depuis un terminal) est reçue par le contrôleur IMS, puis stocké dans la file de messages (message queue). Lorsqu'une transaction a été mise dans la file, IMS fait appel à son ordonnanceur pour démarrer le programme de l'utilisateur dans une zone réservée (région). Le message est alors traité et retiré de la file d'attente, les données sont stockées ou mises à jour et une réponse est éventuellement insérée dans la file d'attente d'IMS pour être expédiée à l'utilisateur.

Si vous avez déjà retiré de l'argent d'un Distributeur automatique de billets (ATM en anglais), il y a une forte chance pour que votre demande ait été traitée par un système de type IMS.

[modifier] Voir aussi