El sistema de gestión de información de IBM ( IMS ) es un sistema conjunto de gestión de información y base de datos jerárquica que soporta el procesamiento de transacciones . [1]
IBM diseñó el IMS con Rockwell y Caterpillar a partir de 1966 para el programa Apolo , donde se utilizó para inventariar la enorme lista de materiales (BOM) para el cohete lunar Saturno V y el vehículo espacial Apolo. [2]
El sistema se consideró operativo por primera vez cuando apareció el primer mensaje "LISTO" en una terminal IBM 2740 en Downey, California , el 14 de agosto de 1968. [2] En el período intermedio, IMS ha experimentado muchos desarrollos a medida que la tecnología IBM System/360 evolucionó hacia las tecnologías actuales z/OS e IBM zEnterprise System .
Vern Watts había trabajado en IMS de forma continua desde los años 60 [3] y fue el arquitecto jefe de IMS durante muchos años. Watts se incorporó a IBM en 1956 y trabajó en los laboratorios de desarrollo de IBM en Silicon Valley hasta su muerte el 4 de abril de 2009. [4]
IBM Information Management System (IMS) utiliza un modelo de base de datos jerárquico, distinto del modelo de base de datos relacional posterior de IBM, como se vio en IBM Db2. En IMS, los datos se organizan en segmentos, cada uno de los cuales comprende múltiples campos, estructurados jerárquicamente para gestionar relaciones complejas de manera eficaz. [5] Por ejemplo, en una base de datos de clientes, un segmento raíz en la parte superior de la jerarquía puede incluir campos como número de teléfono, nombre y edad. Se pueden agregar segmentos secundarios debajo, como segmentos de pedido debajo de cada segmento de cliente, que representan pedidos realizados por clientes, con segmentos secundarios adicionales para artículos individuales en cada pedido.
- Originarias de las bases de datos Data Language Interface (DL/I) desarrolladas para Apollo, las bases de datos de función completa admiten índices primarios y secundarios, a los que se accede mediante llamadas DL/I similares a las llamadas SQL en IBM Db2 u Oracle. [ cita requerida ] - Se puede acceder a estas bases de datos a través de varios métodos, entre los que destacan Hierarchical Direct (HDAM) y Hierarchical Indexed Direct (HIDAM). Otros formatos incluyen Simple Hierarchical Indexed Sequential (SHISAM), Hierarchical Sequential (HSAM) y Hierarchical Indexed Sequential (HISAM). [6] - Los datos en bases de datos de función completa se almacenan utilizando VSAM, un método de acceso nativo de z/OS, u OSAM, un método específico de IMS que optimiza la E/S para patrones de acceso de IMS, beneficiándose particularmente del acceso secuencial (OSAM Sequential Buffering). [ cita requerida ]
- Optimizadas para altas tasas de transacciones, las bases de datos Fast Path incluyen bases de datos de entrada de datos (DEDB) y bases de datos de almacenamiento principal (MSDB). [7] [ cita requerida ] - Las DEDB emplean acceso directo (aleatorio) similar a HDAM en bases de datos de funciones completas, ofreciendo un rendimiento mejorado a través de métodos de acceso de alto rendimiento y escritura asincrónica después de la confirmación. Aprovechan un concepto de Unidad de trabajo (UOW) para utilidades de reorganización en línea simplificadas a partir de la versión 11 de IMS. [8]
- Introducidas en IMS V7, las HALDB extienden las capacidades de las bases de datos de funciones completas para mejorar la disponibilidad y manejar grandes volúmenes de datos de manera efectiva. [9] - IMS V9 introdujo la reorganización en línea para las HALDB, respaldando la disponibilidad continua y acomodando volúmenes de datos que superan los 40 terabytes.
IMS es un gestor de transacciones ( IMS TM , también conocido como IMS DC) que interactúa con un usuario final conectado a través de VTAM o TCP/IP (incluidas las interfaces de usuario web y 3270 ) u otra aplicación. Puede procesar una función empresarial (como un retiro de una cuenta bancaria) y mantener el estado durante todo el proceso, asegurándose de que el sistema registre la función empresarial correctamente en un almacén de datos.
IMS TM utiliza un paradigma de mensajería y colas . Un programa de control IMS recibe una transacción ingresada desde un terminal (o navegador web u otra aplicación) y luego almacena la transacción en una cola de mensajes (en la memoria o en un conjunto de datos). Luego, IMS invoca su programador en la transacción en cola para iniciar el programa de aplicación empresarial en una región de procesamiento de mensajes. La región de procesamiento de mensajes recupera la transacción de la cola de mensajes IMS y la procesa, leyendo y actualizando las bases de datos IMS y/o Db2 y asegurando el registro adecuado de la transacción. Luego, si es necesario, IMS vuelve a poner en cola un mensaje de respuesta en la cola de mensajes IMS. Una vez que el mensaje de salida está completo y disponible, el programa de control IMS lo envía de regreso al terminal de origen. IMS TM puede manejar todo este proceso miles (o incluso decenas de miles) de veces por segundo. En 2013, IBM completó un benchmark en IMS Versión 13 que demostró la capacidad de procesar 100.000 transacciones por segundo en un solo sistema IMS. [10]
IMS TM ofrece un entorno estándar para la ejecución de transacciones. A finales de la década de 2000, varios bancos chinos habían adquirido IMS para respaldar la floreciente industria financiera del país. [11]
IMS complementa a IBM Db2 , el sistema de base de datos relacional de IBM introducido en 1982. IMS generalmente funciona más rápido que Db2 para tareas comunes, pero puede requerir más esfuerzo de programación para diseñar y mantener tareas no primarias.
Se puede utilizar un almacén de datos relacional para complementar una base de datos IMS. Por ejemplo, IMS puede proporcionar transacciones de cajeros automáticos primarios porque funciona bien para esa tarea específica.