IBM 정보 관리 시스템(IBM Information Management System, IMS)은 IBM이 개발한 계층형 데이터베이스이자 정보 관리 시스템으로, 대규모 트랜잭션 처리(OLTP) 기능을 함께 제공한다. IMS는 데이터베이스 관리 시스템(IMS DB)과 트랜잭션 관리자(IMS TM, 또는 IMS DC)의 두 가지 주요 구성 요소로 이루어져 있으며, 이들은 함께 또는 별도로 사용할 수 있다.
개발 배경 및 역사
IMS의 개발은 1966년 미국 항공우주국(NASA)의 아폴로 계획을 위해 시작되었다. IBM은 로크웰(Rockwell) 및 캐터필러(Caterpillar)와 협력하여 새턴 V 달 로켓과 아폴로 우주선의 자재 명세서(bill of materials)를 관리할 시스템을 설계하였다. 이보다 앞서 1963년, IBM의 우리 버먼(Uri Berman)은 로크웰 사의 IBM 7010 메인프레임에서 부품 변경 사항을 추적하는 애플리케이션을 구축하였으며, 이 시스템은 DATE(Disk Applications in a Teleprocessing Environment)로 알려졌다. DATE는 물리적 저장소를 담당하는 부분과 사용자 상호작용을 처리하는 부분을 분리한 것이 특징이었으며, 후자의 부분은 DL/1(Data Language/One)로 불리기 시작했다.
1966년 공식적인 정의가 작성되었고, 1967년 IBM 시스템/360 모델 65를 기반으로 한 첫 번째 버전이 ICS/DL/I(Information Control System and Data Language/Interface)라는 이름으로 완성되었다. 1968년 8월 14일 캘리포니아주 다우니의 로크웰 공장에 설치되어 최초의 "IMS READY" 메시지가 IBM 2740 터미널에 나타났다. 1969년 IBM은 이 제품을 IMS/360으로 재브랜딩하여 시장에 출시하였다.
IMS의 수석 설계자는 번 와츠(Vern Watts)였으며, 그는 1960년대부터 2009년 사망할 때까지 IMS 개발에 지속적으로 참여하였다.
기술적 특징
IMS는 관계형 데이터베이스 모델을 사용하는 IBM의 후속 제품인 DB2와 달리 계층형 데이터베이스 모델(hierarchical database model)을 사용한다. 데이터는 '세그먼트(segment)'라는 단위로 구성되며, 각 세그먼트는 여러 개의 '필드(field)'를 포함할 수 있다. 세그먼트는 트리 구조의 계층 관계를 형성하며, 최상위에 있는 세그먼트를 루트 세그먼트(root segment)라고 한다. 예를 들어 고객 데이터베이스에서 고객 정보를 담은 루트 세그먼트 아래에 주문 세그먼트, 그 아래에 개별 품목 세그먼트를 배치하는 방식이다.
IMS 계층형 데이터베이스의 기본 형태는 다음과 같이 세 가지로 구분된다:
- 풀 펑션(Full Function) 데이터베이스: DL/I 호출을 통해 접근하며, 기본 및 보조 인덱스를 지원한다. HDAM, HIDAM, HISAM, HSAM 등의 접근 방식이 있다.
- 패스트 패스(Fast Path) 데이터베이스: 높은 트랜잭션 처리 속도에 최적화된 데이터베이스로, DEDB(Data Entry Database)와 MSDB(Main Storage Database)가 포함된다.
- HALDB(High Availability Large Databases): IMS V7에서 도입된 대용량 고가용성 데이터베이스로, 40테라바이트 이상의 데이터를 처리할 수 있으며 온라인 재구성을 지원한다.
트랜잭션 관리자(IMS TM)
IMS TM은 메시징 및 큐잉 패러다임을 사용하여 트랜잭션을 처리한다. 터미널, 웹 브라우저 또는 다른 애플리케이션으로부터 트랜잭션을 수신하여 메시지 큐에 저장한 후, 스케줄러가 해당 트랜잭션을 처리할 비즈니스 애플리케이션 프로그램을 기동한다. IMS TM은 CICS, BEA 턱시도(현재 오라클 소유)와 함께 전통적인 3대 트랜잭션 매니저 가운데 하나로 꼽힌다. 2013년 IBM은 IMS 버전 13에서 단일 IMS 시스템이 초당 100,000건의 트랜잭션을 처리할 수 있음을 입증하는 벤치마크를 완료하였다.
현황
IMS는 1988년 기준으로 전 세계 7,000개 사이트에서 사용 중이었으며, 2003년에는 포춘 1000 기업의 95% 이상이 IMS를 사용하고 있을 정도로 널리 채택되었다. IMS는 현재 z/OS 운영 체제와 IBM 시스템 z 플랫폼에서 실행되며, 자바(Java), JDBC, XML, 웹 서비스 등을 지원하도록 지속적으로 발전해 왔다. 2025년 6월 기준 최신 안정화 버전은 15.6.x이다. IMS는 여전히 IBM의 메인프레임 환경에서 핵심적인 데이터베이스 및 트랜잭션 처리 시스템으로 사용되고 있으며, 특히 금융 기관 등 대규모 시스템 운영이 필요한 분야에서 활용되고 있다.