Jump to content

IBM Information Management System

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Rohan2208 (talk | contribs) at 03:03, 25 July 2024. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Initial release1966; 58 years ago (1966)
Stable release
15 / October 3, 2017; 7 years ago (2017-10-03)
Operating systemz/OS V2.2 or later
PlatformIBM System z
TypeDatabase & transaction processing subsystem
LicenseProprietary
Websitewww.ibm.com/software/data/ims/index.html

The IBM Information Management System (IMS) is a joint hierarchical database and information management system that supports transaction processing.[1]


History

IBM Information Management System (IMS) has a rich history intertwined with the evolution of computing technology and the needs of large-scale enterprise data management. Originally conceived in collaboration with Rockwell and Caterpillar in 1966, IMS was developed to address the complex data management challenges posed by the Apollo program. Its initial task was to inventory the extensive bill of materials (BOM) for the Saturn V Moon rocket and the Apollo space vehicle, ensuring accurate and efficient management of critical components essential for space exploration.[2]

The system achieved a significant milestone when the first "READY" message was successfully displayed on an IBM 2740 terminal in Downey, California, on August 14, 1968. This marked the operational debut of IMS, showcasing its capability to handle complex data processing tasks in a real-world application environment.[3]

Evolution and Development

Since its inception, IMS has continually evolved alongside IBM's System/360 architecture, adapting to advancements in mainframe technology and expanding its capabilities to meet the growing demands of global enterprises. The system has undergone multiple iterations and updates, each enhancing its performance, scalability, and integration capabilities with newer IBM platforms like z/OS and IBM zEnterprise System.[4]

Contributions of Vern Watts

Vern Watts played a pivotal role in the development and evolution of IMS since the 1960s. Joining IBM in 1956, Watts dedicated his career to advancing IMS technologies at IBM's Silicon Valley development labs. His contributions as IMS's chief architect were instrumental in shaping the system's architecture, scalability, and functionality over several decades.[5] Watts's expertise and leadership were foundational in establishing IMS as a cornerstone of IBM's data management solutions until his passing on April 4, 2009, leaving behind a lasting legacy in enterprise computing.[6]

Continuing Innovation

Today, IMS remains a critical component of IBM's mainframe software portfolio, providing robust hierarchical database management and transaction processing capabilities to organizations worldwide. Its ability to handle high-volume transaction processing efficiently, coupled with its integration with modern enterprise architectures, underscores its relevance in contemporary computing environments.[7]

Database

The IMS Database component stores data using a hierarchical model, which is quite different from IBM's later released relational database, IBM Db2. In IMS, the hierarchical model is implemented using blocks of data known as segments. Each segment can contain several pieces of data, which are called fields.[8] For example, a customer database may have a root segment (or the segment at the top of the hierarchy) with fields such as phone, name, and age. Child segments may be added underneath another segment; for instance, one order segment under each customer segment represents each order a customer has placed with a company. Likewise, each order segment may have many child segments for each item on the order.

There are three basic forms of IMS hierarchical databases:

"Full Function" databases

  • Directly descended from the Data Language Interface (DL/I) databases originally developed for Apollo, full function databases can have primary and secondary indexes, accessed using DL/I calls from an application program, like SQL calls to IBM Db2 or Oracle.[citation needed]
  • Full function databases can be accessed by a variety of methods, although Hierarchical Direct (HDAM) and Hierarchical indexed direct (HIDAM) dominate. The other formats are Simple Hierarchical Indexed Sequential (SHISAM), Hierarchical Sequential (HSAM), and Hierarchical Indexed Sequential (HISAM).[9]
  • Full function databases store data using VSAM, a native z/OS access method, or Overflow Sequential (OSAM), an IMS-specific access method that optimizes the I/O channel program for IMS access patterns. In particular, OSAM performance benefits from sequential access of IMS databases (OSAM Sequential Buffering).[citation needed]

"Fast Path" databases

  • Fast Path databases are optimized for extremely high transaction rates.[10] Data Entry Databases (DEDBs) and Main Storage Databases (MSDBs) are the two types of Fast Path databases. DEDBs use a direct (randomizer) access technique similar to Full Function HDAM and IMS V12 provided a DEDB Secondary Index function. MSDBs do not support secondary indexing. Virtual Storage Option (VSO) DEDBs can replace MSDBs in modern IMS releases, so MSDBs are gradually disappearing.[citation needed]

DEDB performance comes from the use of high-performance (Media Manager) access methods, asynchronous write after commit, and optimized code paths. Logging is minimized because no data is updated on disk until commit, so UNDO (before image) logging is not needed, nor is a backout function. Uncommitted changes can simply be discarded. Starting with IMS Version 11, DEDBs can use z/OS 64-bit storage for database buffers. DEDBs architecture includes a Unit of Work (UOW) concept, which made an effective online reorganization utility simple to implement. This function is included in the base product.[citation needed]

High Availability Large Databases (HALDBs)

  • IMS V7 introduced HALDBs, an extension of IMS full function databases to provide better availability, better handling of extremely large data volumes, and, with IMS V9, online reorganization to support continuous availability. (Third party tools exclusively provided online reorganization prior to IMS V9.) A HALDB can store in excess of 40 terabytes of data.[11]

Transaction Manager

IMS is a transaction manager, (IMS TM, also known as IMS DC) which interacts with an end user connected through VTAM or TCP/IP, (including 3270 and Web user interfaces) or another application. It can process a business function (such as a banking account withdrawal), and maintain state throughout the process, making sure that the system records the business function correctly to a data store.

IMS TM uses a messaging and queuing paradigm. An IMS control program receives a transaction entered from a terminal (or Web browser or other application) and then stores the transaction on a message queue (in memory or in a dataset). IMS then invokes its scheduler on the queued transaction to start the business application program in a message processing region. The message processing region retrieves the transaction from the IMS message queue and processes it, reading and updating IMS and/or Db2 databases and ensuring proper recording of the transaction. Then, if required, IMS enqueues a response message back onto the IMS message queue. Once the output message is complete and available, the IMS control program sends it back to the originating terminal. IMS TM can handle this whole process thousands (or even tens of thousands) of times per second. In 2013, IBM completed a benchmark on IMS Version 13 demonstrating the ability to process 100,000 transactions per second on a single IMS system.[12]

Application

IMS TM provides a standard environment for transaction execution. Several Chinese banks had purchased IMS by the late 2000s to support the country's burgeoning financial industry.[13]

IMS complements IBM Db2, IBM's relational database system introduced in 1982. IMS generally performs faster than Db2 for common tasks, but may require more programming effort to design and maintain for non-primary duties.

A relational data warehouse may be used to supplement an IMS database. For example, IMS may provide primary ATM transactions because it performs well for such a specific task.

See also

References

  1. ^ "IMS (Information Management System) - Mainframes.com". www.mainframes.com. Retrieved 2024-06-07.
  2. ^ "History of IMS: Beginnings at NASA". IBM. 2 September 2005. Retrieved 2019-06-25.
  3. ^ "History of IMS: Beginnings at NASA". IBM. 2 September 2005. Retrieved 2019-06-25.
  4. ^ "History of IMS: Beginnings at NASA". IBM. 2 September 2005. Retrieved 2019-06-25.
  5. ^ Luongo, Chris; et al. (October 2008). "The Tale of Vern Watts". IBM Corporation. Retrieved April 7, 2009. {{cite news}}: Explicit use of et al. in: |author= (help)
  6. ^ "IBM IMS Newsletter Volume 902". IBM. Retrieved April 7, 2009.
  7. ^ "Information Management System – Icons of Progress – IBM at 100". IBM. 7 March 2012. Retrieved 2024-07-25.
  8. ^ "The segment – IBM IMS 15.3.0 Documentation". ibm.com.
  9. ^ "Full-function database types – IBM IMS 15.3.0 Documentation". ibm.com.
  10. ^ IBM’s Information Management System (IMS) Archived 2019-02-14 at the Wayback Machine Institute for Data Center Professionals
  11. ^ Lewis, Rich et al. (June 2003). The Complete IMS HALDB Guide All You Need to Know to Manage HALDBs. International Business Machines Corporation. p. 4. ISBN 0-7384-5343-9. Retrieved on June 21, 2008.
  12. ^ "IMS 13 Enhancements Achieve Performance Benchmark". MSP Communications. Archived from the original on 2018-02-08. Retrieved 2018-02-07.
  13. ^ "Information Management System – Icons of Progress – IBM at 100". ibm.com. 7 March 2012.