Открыть сервис

IBM IMS

IBM IMS (Information Management System) — это иерархическая система управления базами данных (СУБД) и система обработки транзакций, разработанная корпорацией IBM. Она является одной из старейших и наиболее надёжных систем в мире, предназначенной для высоконагруженных транзакционных сред, где критически важны производительность, доступность и целостность данных. IMS была создана в 1960-х годах для программы «Аполлон» и до сих пор эксплуатируется в крупнейших банках, страховых компаниях, государственных учреждениях и на транспорте.

История

Разработка для программы «Аполлон»

IMS была разработана в 1966—1968 годах в подразделении IBM Federal Systems Division совместно с компанией North American Aviation (подрядчиком NASA) для управления данными о компонентах космического корабля «Аполлон». Задача заключалась в создании системы, способной обрабатывать миллионы деталей и обеспечивать их отслеживание в реальном времени. Первая версия, IMS/360, была выпущена в 1968 году для мейнфреймов IBM System/360.

Эволюция и коммерциализация

После успеха в космической программе IMS была адаптирована для коммерческого использования. В 1970-х годах она стала стандартом де-факто для банковских систем, биржевых площадок и авиационных бронирований. Ключевые вехи:

  • 1974 — выход IMS/VS (Virtual Storage) с поддержкой виртуальной памяти.
  • 1980-е — интеграция с языками COBOL и PL/I, добавление поддержки SQL-запросов через DB2.
  • 1990-е — появление IMS Version 6 с объектно-реляционными расширениями.
  • 2000-еподдержка Java, XML, веб-сервисов и интеграция с z/OS.
  • 2010-е — настоящее время — IMS продолжает развиваться: версия IMS 15 (2020) включает облачную интеграцию, контейнеризацию и поддержку REST API.

Архитектура и принципы работы

Иерархическая модель данных

IMS использует иерархическую модель, в которой данные организованы в виде дерева. Каждая запись (сегмент) имеет один родительский сегмент (кроме корневого) и может иметь несколько дочерних. Это отличается от реляционных СУБД, где данные хранятся в таблицах с произвольными связями.

Пример структуры для банковской системы:

  • Клиент (корневой сегмент) → Счёт (дочерний) → Транзакция (дочерний счёта).

Два основных компонента

IMS состоит из двух взаимосвязанных подсистем:

  1. IMS DB (Database) — собственно СУБД, управляющая хранением, поиском и обновлением данных в иерархических базах.
  2. IMS TM (Transaction Manager)монитор транзакций, обеспечивающий обработку большого числа одновременных запросов (до десятков тысяч транзакций в секунду), управление очередями и восстановление после сбоев.

Методы доступа

IMS поддерживает несколько способов доступа к данным:

  • DL/I (Data Language/I) — основной язык манипулирования данными, используемый в приложениях на COBOL, PL/I, Assembler.
  • SQL — через шлюз DB2 для реляционных запросов.
  • Java API — через JDBC-драйверы.
  • REST API — в современных версиях для интеграции с веб-сервисами.

Транзакционная обработка

IMS TM работает по модели «запрос-ответ» с поддержкой ACID-свойств (атомарность, согласованность, изолированность, долговечность). Транзакции обрабатываются в пакетном режиме или в реальном времени. Система использует механизмы блокировок и журналирования для обеспечения целостности данных при сбоях.

Классификация и типы баз IMS

Иерархические базы данных

IMS поддерживает несколько типов иерархических структур:

  • Full-function databases — полнофункциональные базы с поддержкой всех операций DL/I.
  • Fast Path databases — оптимизированные для высокоскоростной обработки (например, для биржевых котировок), с ограниченным набором операций.
  • Secondary Indexes — вспомогательные индексы для ускорения поиска по неключевым полям.

Логические базы

IMS позволяет создавать логические базы данных, которые объединяют данные из нескольких физических иерархий в единое виртуальное дерево. Это аналог представлений (views) в реляционных СУБД.

Применение

Финансовый сектор

IMS является основой многих банковских систем, где требуется обработка миллионов транзакций в день. Например, крупные банки используют IMS для управления счетами, кредитными картами, межбанковскими переводами и системами расчётов (SWIFT, SEPA).

Авиация и транспорт

Системы бронирования авиабилетов (например, Sabre, Amadeus) исторически строились на IMS. Она обеспечивает проверку наличия мест, обработку платежей и синхронизацию с глобальными дистрибутивными системами (GDS).

Государственные учреждения

IMS эксплуатируется в системах социального обеспечения, налоговых службах и пенсионных фондах ряда стран, где требуется высокая надёжность и долговременное хранение данных.

Промышленность и логистика

Крупные производственные компании используют IMS для управления цепочками поставок, складскими запасами и заказами, особенно в отраслях с высокими требованиями к целостности данных (фармацевтика, авиастроение).

Преимущества и недостатки

Преимущества

  • Высочайшая производительность — IMS способна обрабатывать десятки тысяч транзакций в секунду с минимальной задержкой.
  • Надёжность и отказоустойчивость — система десятилетиями работает без перезагрузок, поддерживая горячее резервирование и автоматическое восстановление.
  • Зрелость и стабильность — код IMS насчитывает более 50 лет, все критические ошибки давно исправлены.
  • Поддержка устаревших систем — возможность интеграции с COBOL-программами, написанными в 1970-х годах.

Недостатки

  • Сложность администрирования — настройка и управление IMS требуют высокой квалификации персонала.
  • Ограниченная гибкость — иерархическая модель менее удобна для сложных запросов с произвольными связями, чем реляционная.
  • Высокая стоимость — лицензии на IMS и мейнфреймы IBM стоят миллионы долларов.
  • Закрытость — отсутствие открытых альтернатив, полная зависимость от экосистемы IBM.

Интересные факты

  • IMS была первой в мире коммерческой СУБД, выпущенной на рынок (1968 год).
  • Код IMS написан на ассемблере и COBOL, и его модификация до сих пор требует глубоких знаний этих языков.
  • В 2019 году IBM объявила о поддержке IMS в облачной платформе IBM Cloud, что позволяет запускать старые системы в виртуальной среде.
  • По оценкам, более 90% всех транзакций в мировых банках проходят через системы, основанные на IMS или её аналогах (например, CICS).

Критика и альтернативы

Основная критика IMS связана с её устаревшей архитектурой и высокой стоимостью эксплуатации. Реляционные СУБД (Oracle, IBM DB2, Microsoft SQL Server) и NoSQL-решения (MongoDB, Cassandra) предлагают большую гибкость и меньшую стоимость. Однако для критически важных систем с требованиями к производительности и долговременной стабильности IMS остаётся незаменимой. Попытки миграции с IMS на современные платформы часто оказываются слишком дорогими и рискованными, поэтому многие организации предпочитают модернизировать существующие системы, а не заменять их.

Источники

  • IBM Corporation. IMS Version 15: Introduction and Overview. IBM Redbooks, 2020.
  • Date, C. J. An Introduction to Database Systems. 8th ed., Addison-Wesley, 2004.
  • Meltzer, H. IMS: A Historical Perspective. IBM Systems Journal, Vol. 28, No. 1, 1989.
  • IBM Knowledge Center: IMS Library (ibm.com/docs/en/ims).

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →