Précédent   Forum des professionnels en informatique > Bases de données > Décisions SGBD
Décisions SGBD Forum de décisions sur le choix en bases de données. Le Comparatif
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/06/2011, 10h01   #1
Candidat au titre de Membre du Club
 
Inscription : juin 2011
Messages : 44
Détails du profil
Informations forums :
Inscription : juin 2011
Messages : 44
Points : 10
Points : 10
Par défaut Qu'est-ce que le IMS de IBM?

Bonjour,

J'ai lu l'article de wikipedia dédié à IMS (Information Management System) et je ne comprend toujours pas ce que c'est.

Il est noté sur wiki que IMS était une base, mais une base de quoi, pour qui?

On nous a toujours dit en classe que les bases de données étaient conçues à partir du modèle logique de données qui lui même découle du modèle conceptuel de données si on passe par Merise. Les bases sont donc conçues selon des besoins précis.

Il est aussi noté que IMS était un gestionnaire de transactions, donc si je comprend bien, un peu comme phpMyadmin ?

Comment peut-on être une base et un gestionnaire en même temps?

Voila, si vous pouviez m'expliquer avec des mots simples
waters est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2011, 10h45   #2
Membre du Club
 
Inscription : décembre 2008
Messages : 36
Détails du profil
Informations forums :
Inscription : décembre 2008
Messages : 36
Points : 63
Points : 63
C'est un couple Gestionnaire de base de données / Moniteur transactionnel

C'est un moteur de base de données hiérarchique qui est utilisée derrière donc pas une base de données relationnelle.
Ce type de base et de moniteur est encore très utilisé dans les banques, assurances et industries lourdes car très performant

Un moniteur transactionnel ca n'a rien à voir avec PhpMyadmin,
c'est un soft permettant de prendre en compte les transactions utilisateurs, de les prioriser et de requeter la base, ca permet de gérer tous les accès à la base de données en gérant les transactions en terme de file d'attente, autre exemple, si une requete dure trop longtemps ou consomme trop de CPU, IMS peut la canceller.
Toutes les requetes passent par le pool de connexion à la base ce qui permet de passer des dizaines de milliers de requetes par seconde sans avoir 10000 connexions à la base.
zOS19 est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 23/06/2011, 12h36   #3
Candidat au titre de Membre du Club
 
Inscription : juin 2011
Messages : 44
Détails du profil
Informations forums :
Inscription : juin 2011
Messages : 44
Points : 10
Points : 10
ok merci pour ces explications.

alors c'est ce moniteur qui pilote les moteurs des bases (un peu comme par exemple le moniteur qui pilote le moteur innobd de MySQL....sauf qu'ici, on est dans les bases relationnelles)

donc, le moniteur IMS pilote les moteurs des système de gestion des bases hiérarchiques type IBM.
  • est-ce que ce type de base est géré par des "SGBD-H"?
  • j'ai lu que la syntaxe des transactions est de type IMS/DL1 , je pensais que le langage pour DB2 était du sql, je me trompe? ça m'embrouille tout ça...
waters est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2011, 13h09   #4
Membre du Club
 
Inscription : décembre 2008
Messages : 36
Détails du profil
Informations forums :
Inscription : décembre 2008
Messages : 36
Points : 63
Points : 63
C'est plutot le moniteur qui pilote les transactions utilisateurs. Un peu comme un serveur d'applications java sert d'intermédiaire entre un utilisateur et la base de données.

Oui IMS est un SGBD Hiérarchique

IMS n'utilise pas DB2 donc n'utilise pas le sql
IMS utilise le DL1 pour le requete de ces bases hiérarchiques
zOS19 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 23/06/2011, 19h36   #5
Membre Expert

 
Homme François Durand
Spécialiste Delivery Mainframe IBM
Inscription : octobre 2005
Messages : 1 096
Détails du profil
Informations personnelles :
Nom : Homme François Durand
Âge : 53
Localisation : France, Seine Saint Denis (Île de France)

Informations professionnelles :
Activité : Spécialiste Delivery Mainframe IBM
Secteur : Finance

Informations forums :
Inscription : octobre 2005
Messages : 1 096
Points : 1 704
Points : 1 704
Voir aussi ce fil :

Informations sur IMS
Luc Orient est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 27/06/2011, 03h49   #6
Expert Confirmé Sénior

 
Avatar de fsmrel
 
Spécialiste en bases de données
Inscription : septembre 2006
Messages : 2 884
Détails du profil
Informations professionnelles :
Activité : Spécialiste en bases de données
Secteur : Conseil

Informations forums :
Inscription : septembre 2006
Messages : 2 884
Points : 5 118
Points : 5 118
Par défaut Temporibus illis...

Bonsoir,


Ah ! IMS... Ancien combattant, je me resitue bien des années en arrière... En ce temps-là :

IMS est caractérisé par essentiellement deux composants, en ces temps reculés on l'appelait IMS DB/DC, « DB » pour « Data Base » et « DC » pour « Data Communication ».

Je ne sais pas comment IMS a évolué et donc je dois être un tantinet obsolète, mais temporibus illis les choses se passaient en gros ainsi :

Quand l’utilisateur Tartempion sollicite IMS par le truchement d’un code transaction (TRX dans l’exemple ci-dessous), le composant DC place la demande de Tartempion dans une file d’attente, comme quand on attend à la Sécu ou à la préfecture (avec quand même un système de priorités...), et son tour venu, charge en mémoire le programme associé à ce code transaction et lui transmet le contrôle (en notant que les collègues de Tartempion peuvent évidemment eux aussi envoyer une transaction TRX ou TRY au même moment).

Des souvenirs me remontent en mémoire... Extrait d’un cours que j’avais bâti dans les années soixante-dix, du temps des cartes perforées (mais on avait quand même des terminaux...) :


Le composant DC permet aux programmes d’échanger avec IMS au moyen d’une paire d’instructions, ENTRY et CALL.
Exemple : IMS passe le contrôle à mon programme à un point d’entrée convenu (ici en COBOL) :
ENTRY 'DLITCBL' USING IOPCB, PCBING
où DLITCBL signifie DLI TO COBOL (« moi, IMS/DL1 je te passe le contrôle à toi, programme Cobol Px »). Depuis toutes ces années l'instruction ENTRY a peut-être disparu au profit d’un autre, mais pas le principe.
IOPCB contient quelques données d’échange entre IMS et le programme Px, tel que le code retour (transaction terminée/pas terminée, erreur unetelle, etc.) et PCBING (PCB = Program Communication Block)correspond à la structure logique de la base de données partie prenante dans cet échange (ici la base de données des ingénieurs de l’entreprise).

Avant d’accéder à la base de données, le programme sollicite IMS au moyen d’une instruction CALL pour lire les messages de l’utilisateur Tartempion et donc savoir ce qu’il veut (en l’occurrence tout savoir sur l’ingénieur Gérard à partir de son matricule, parce que par convention Tartempion a codé 'GP' en regard du champ MATRIC, prédéfini dans l’écran de saisie) :
CALL 'CBLTDLI' USING FONCTION, IOPCB, IOAREA
FONCTION : la fonction que je veux exécuter : lire une ligne du message (qui peut être multi-lignes) qu’IMS me sous-traite ;
IOPCB : idem ci-dessus ;
IOAREA : le contenu de la ligne du message (ici : MATRIC = GP, disons). L’écran correspondant est structuré en champs (outre le nom de l’ingénieur, sa date naissance, les logiciels pour lesquels il est compétent, etc.)
Le programme exploite ce contenu et part à l’assaut de la base de données en conséquence (toujours par CALL 'CBLTDLI', mais au composant DB), pour récupérer les données concernant le camarade Gérard et les transmettre à IMS (par CALL au composant DC).

Merci de me signaler les erreurs que j'ai pu commettre, car depuis le temps, j'ai beaucoup oublié...

IMS est fait pour traiter les accès concurrents, donc gérer les conflits en mise à jour, y compris les étreintes fatales (dead locks), la sécurité (qui a le droit de faire quoi), les reprises à chaud ou à froid (recovery), la journalisation, permettant ainsi de remonter dans le temps (très loin au besoin, quand par exemple les bases sont « vérolées »). IMS fournit bien sûr un tas d’outils sophistiqués de chargement de base de données, de sauvegarde et de réorganisation orientés très grandes bases de données. Etc. En 2011, la panoplie a dû bougrement s’étoffer depuis ces temps héroïques...


Citation:
Envoyé par zOS19 Voir le message
IMS n'utilise pas DB2 donc n'utilise pas le sql
Heu... Extrait de IBM DATABASE 2 Reference, Release 1.0 (November 6th, 1984) :


Il y a 27 ans, DB2 communiquait donc avec IMS. Manifestement, en 2011 (DB2 V10) cela paraît être toujours vrai...
__________________
_
Faites simple, mais pas plus simple ! (A. Einstein)
E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
=> La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

__________________

Bases de données relationnelles et normalisation : de la première à la sixième forme normale (Bonne lecture !)
fsmrel est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 27/06/2011, 10h55   #7
Membre Expert

 
Homme François Durand
Spécialiste Delivery Mainframe IBM
Inscription : octobre 2005
Messages : 1 096
Détails du profil
Informations personnelles :
Nom : Homme François Durand
Âge : 53
Localisation : France, Seine Saint Denis (Île de France)

Informations professionnelles :
Activité : Spécialiste Delivery Mainframe IBM
Secteur : Finance

Informations forums :
Inscription : octobre 2005
Messages : 1 096
Points : 1 704
Points : 1 704
Bien sûr qu'IMS sait travailler avec DB2.

Il sait aussi travailler avec MQSeries et WebSphere sur z/OS. Il sait s'interfacer avec TCP/IP (IMS Connect) et pas seulement SNA et VTAM. Il sait présenter une transaction "classique" sous forme de Web Services (SOA) et sait même, dans les versions les plus récentes appeler un tel service (fonction "Callout"). Il sait aussi exécuter du code JAVA et travailler avec XML

IMS est loin d'être mort ...
Luc Orient est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 27/06/2011, 16h55   #8
Candidat au titre de Membre du Club
 
Inscription : juin 2011
Messages : 44
Détails du profil
Informations forums :
Inscription : juin 2011
Messages : 44
Points : 10
Points : 10
Luc Orient, Fsmrel, ZOS19, merci les gars pour vos réponses, les scans, le lien vers le fil du 27/05

Citation:
Bien sûr qu'IMS sait travailler avec DB2.
Vous faites bien référence à IMS TM (Transaction Manager) et non à IMS DB (Database Manager) ?

parce que je ne comprendrais pas qu'un SGBDH (IMS DB) puisse communiquer avec un SGBDR (DB2)

Ca se conçoit encore les BD hiérarchiques de nos jours? je dois vous avouer qu'avant de lire ce fil, je ne savais même pas que ça existait comme à l'école, on nous a seulement parlé des BD relationnelles et objets, je me disais que les BD hiérarchiques ne doivent plus être d'actualité
waters est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/06/2011, 21h06   #9
Expert Confirmé Sénior

 
Avatar de fsmrel
 
Spécialiste en bases de données
Inscription : septembre 2006
Messages : 2 884
Détails du profil
Informations professionnelles :
Activité : Spécialiste en bases de données
Secteur : Conseil

Informations forums :
Inscription : septembre 2006
Messages : 2 884
Points : 5 118
Points : 5 118
Bonsoir,

Citation:
Envoyé par waters Voir le message
Vous faites bien référence à IMS TM (Transaction Manager) et non à IMS DB (Database Manager) ?
Yes Sir ! Je parle sous le contrôle de Luc Orient, car j’ai développé ma dernière transaction IMS quand DB2 naissait... Quoi qu’il en soit, C’est IMS TM (alias IMS DC) qui supervise et coordonne : un programme d’application peut donc communiquer avec IMS DB ou DB2, mais avec certaines règles à respecter : Par exemple, si vous faites du SQL et vous cherchez à exécuter une instruction telle que COMMIT, vous aurez des surprises (code retour SQL -925, -926 en cas de tentative de ROLLBACK), c’est le binôme IMS/DB2 qui prend en charge ce genre d’opérations : vous avez le droit en échange de demander (poliment) à IMS de prendre un point de synchronisation (instruction SYNC par exemple) ou d’annuler l’opération en cours (ROLB par exemple) et c’est lui qui demandera à DB2 d’effectuer le COMMIT ou le ROLLBACK voulu. Si vous aviez le droit de demander à DB2 de réaliser un COMMIT, IMS n’y verrait donc que du feu et tout serait désynchronisé, ça serait la panique...

Citation:
Envoyé par waters Voir le message
Ca se conçoit encore les BD hiérarchiques de nos jours?
Si vous voulez parler de concevoir d’une base de données en DL1, je n’en sais rien. Mais concevoir une structure hiérarchique qui s’appuie sur des tables DB2, ça n’est pas un problème, qui peut le plus peut le moins.

En tout cas, le nombre de bases de données DL1 en production doit être important (on ne remet pas tout à plat en claquant des doigts). Concrètement, selon une étude IDC, en terme de revenus, DB2 représentait 4030 M$ en 2002, 4250 M$ en 2003 et 4400 M$ en 2004. DL1 représentait pour sa part 707 M$ en 2002, 792 M$ en 2003, 880 M$ en 2004. Par comparaison, l’ensemble des SGBD orientés objets représentait respectivement 69 M$, 55 M$ et encore 55 M$.
__________________
_
Faites simple, mais pas plus simple ! (A. Einstein)
E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
=> La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

__________________

Bases de données relationnelles et normalisation : de la première à la sixième forme normale (Bonne lecture !)
fsmrel est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 28/06/2011, 10h55   #10
Candidat au titre de Membre du Club
 
Inscription : juin 2011
Messages : 44
Détails du profil
Informations forums :
Inscription : juin 2011
Messages : 44
Points : 10
Points : 10
Bonjour !!

désolé si je pose beaucoup de questions, on a eu que 8 heures de cours de ABD (le prof a abordé les fichiers de données/journalisation/contrôle, tablespace, acid, transaction, commit, rollback, segment, verrou, curseur, trigger) dont 4 en TPs (sur Oracle). En cours de BD, on a eu des TPs sur Oracle aussi. Et pour ceux de PHP et J2EE, c'était sur MySQL. Que du relationnel requêté en SQL quoi

Citation:
j’ai développé ma dernière transaction IMS
une transaction est une suite d'ordre dans un langage de requête, comme le SGBDH IMS utilise le langage DB/1 et non le SQL comme pour DB2, je conclus que cette suite d'ordre était en DB/1, c'est bien cela? A votre avis, pourquoi sur la page de wiki dédiée aux langages, le DL/1 n'y est pas répertorié?

Citation:
DL1 représentait pour sa part 707 M$ en 2002, 792 M$ en 2003, 880 M$ en 2004
Quand vous dites DL1, vous voulez dire IMS/DB n'est-ce pas?
en tout cas, à la vue de tout ces chiffres, le IMS/DB a encore de beaux jours devant lui, comme quoi
waters est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2011, 03h38   #11
Expert Confirmé Sénior

 
Avatar de fsmrel
 
Spécialiste en bases de données
Inscription : septembre 2006
Messages : 2 884
Détails du profil
Informations professionnelles :
Activité : Spécialiste en bases de données
Secteur : Conseil

Informations forums :
Inscription : septembre 2006
Messages : 2 884
Points : 5 118
Points : 5 118
Bonsoir,


Citation:
Envoyé par waters Voir le message
comme le SGBDH IMS utilise le langage DB/1 et non le SQL comme pour DB2, je conclus que cette suite d'ordre était en DB/1, c'est bien cela?
En quinze ans de DL/1 à haute dose (c’était dans les soixante-dix, quatre-vingts), je n’ai jamais entendu parler de DB/1. Selon Wikipedia (donc à prendre avec des pincettes), je cite :
DB2 gets its name because IMS, which was created first, was DB1
IMS/DC étant le composant d’IMS chargé de gérer les transactions et son copain IMS/DB celui chargé de gérer les données, DB1 correspondrait plutôt à IMS/DB. Ce qui est certain c’est que DL/1 (ou DL1, Database Language One) est le langage de manipulation de la base de données (consultation, mise à jour), et croyez-moi, des requêtes DL/1 j’en ai écrit un bon paquet...

DL/1 est à IMS/DB ce que SQL est à DB2. Pour la petite histoire, SQL était à l’origine le langage du prototype SYSTEM R d’IBM, et Lawrence Ellison ne s’est pas privé de le vampiriser pour sortir Oracle en 1979 (dans Comprendre et concevoir les bases de données relationnelles, page 110 le professeur Miranda a qualifié Oracle de fils illégitime de SYSTEM R et DB2 de fils légitime). Il faut dire qu’IBM avait publié le « dossier de conception » de SYSTEM R, ce qui n’a pas été perdu pour tout le monde (seule la liste des codes-retour a échappé au vampire), voyez The 1995 SQL Reunion: People, Projects, and Politics, page 14...)

Citation:
Envoyé par waters Voir le message
A votre avis, pourquoi sur la page de wiki dédiée aux langages, le DL/1 n'y est pas répertorié ?
Soit parce que celui qui a rédigé la page n’en a jamais entendu parler (c'est-à-dire qu’il a commencé tard dans le métier), soit parce que DL/1 est un langage propriétaire (tout comme d’autres langages tels que GIS ou IQF), ou tout autre raison... De même, a été oublié COBOL, avec lequel on pouvait coder non seulement en DL/1, mais aussi en mode natif (en fait « étendu », à précompiler), cette-fois ci avec les SGBD de type réseau (IDS, IDMS, IDS-2, ...), le langage COBOL « étendu » ayant fait l’objet d’une norme (CODASYL). Voyez à ce sujet l’article sur Charles Bachman.
__________________
_
Faites simple, mais pas plus simple ! (A. Einstein)
E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
=> La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

__________________

Bases de données relationnelles et normalisation : de la première à la sixième forme normale (Bonne lecture !)
fsmrel est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 14/07/2011, 21h15   #12
Membre Expert

 
Homme François Durand
Spécialiste Delivery Mainframe IBM
Inscription : octobre 2005
Messages : 1 096
Détails du profil
Informations personnelles :
Nom : Homme François Durand
Âge : 53
Localisation : France, Seine Saint Denis (Île de France)

Informations professionnelles :
Activité : Spécialiste Delivery Mainframe IBM
Secteur : Finance

Informations forums :
Inscription : octobre 2005
Messages : 1 096
Points : 1 704
Points : 1 704
Et pour ceux qui seraient vraiment "branchés" IMS, il est à noter qu'IMS a son groupe de fans sur Facebook :

IBM IMS sur facebook
Luc Orient est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 20/07/2011, 09h55   #13
Candidat au titre de Membre du Club
 
Inscription : juin 2011
Messages : 44
Détails du profil
Informations forums :
Inscription : juin 2011
Messages : 44
Points : 10
Points : 10
Citation:
En quinze ans de DL/1 à haute dose (c’était dans les soixante-dix, quatre-vingts), je n’ai jamais entendu parler de DB/1.
oula pardon, je voulais dire DL/1

Citation:
IMS/DC étant le composant d’IMS chargé de gérer les transactions et son copain IMS/DB celui chargé de gérer les données, DB1 correspondrait plutôt à IMS/DB. Ce qui est certain c’est que DL/1 (ou DL1, Database Language One) est le langage de manipulation de la base de données (consultation, mise à jour), et croyez-moi, des requêtes DL/1 j’en ai écrit un bon paquet...
ok, ça me rassure de savoir que DL/1 est bel et bien un langage de requêtes.


Citation:
Soit parce que celui qui a rédigé la page n’en a jamais entendu parler (c'est-à-dire qu’il a commencé tard dans le métier), soit parce que DL/1 est un langage propriétaire (tout comme d’autres langages tels que GIS ou IQF), ou tout autre raison... De même, a été oublié COBOL, avec lequel on pouvait coder non seulement en DL/1, mais aussi en mode natif (en fait « étendu », à précompiler), cette-fois ci avec les SGBD de type réseau (IDS, IDMS, IDS-2, ...), le langage COBOL « étendu » ayant fait l’objet d’une norme (CODASYL). Voyez à ce sujet l’article sur Charles Bachman.
merci pour ce complément d'informations
waters est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h50.


 
 
 
 
Partenaires

Hébergement Web