IMS (англ. IBM Information Management System, система управления информацией IBM) — система управления иерархическими базами данных с транзакционными возможностями, выпускается компанией IBM с 1968 года.

IMS
Логотип программы IMS
Тип система управления базами данных, монитор обработки транзакций и Иерархическая модель данных
Разработчик IBM
Операционные системы OS/360, OS/390[d], z/OS и OS/370
Первый выпуск 1968
Аппаратные платформы IBM System/360, IBM System/370, IBM System/390 и IBM System z
Последняя версия
  • 14
Сайт ibm.com/software/data/im…
www-01.ibm.com/common/ss…

История править

IBM спроектировала IMS в сотрудничестве с компаниями Rockwell и Caterpillar для космической программы Аполлон в 1966 году. В задачу IMS входила обработка спецификации изделия (англ. Bill of materials) для ракеты Сатурн-5 и кораблей Аполлон.

Датой выпуска системы считается 14 августа 1968 года. Будучи созданной как технология для платформы IBM System/360, позднее система была перенесена в более современные операционные системы, выпускавшиеся IBM, в том числе на z/OS. Начиная с версии IMS 9 стандартным средством сетевого доступа для СУБД становится средство IMS Connect. С конца 1990-х годов система поддерживает доступ на языке программирования Java, интерфейсы JDBC, обработку XML, а с 2000-х — поддерживаются веб-службы.

Главным архитектором СУБД был Верн Уоттс (англ. Vern Watts), начав работу в IBM в 1956 году, он непрерывно работал над IMS начиная от времени её первоначального проектирования вплоть до своей кончины 4 апреля 2009 года.

База данных править

Система использует иерархическую модель данных, существенно отличающуюся от ставшей фактически стандартной в 1980-е — 1990-е годы реляционной модели. При этом в наименовании основной реляционной СУБД производства IBM — DB2, вышедшей в 1982 году, подразумевается следующее поколение в сравнении с IMS, называвшейся также DB1.

Основной структурный элемент иерархической модели в IMS — сегмент, каждый сегмент может содержать несколько атомарных информационных блоков данных, которые называются областями, либо содержать другие сегменты. Например, для базы данных «Абонент» существует корневой сегмент с областями, такими как "Телефон", "Имя", "Дата рождения", отражающими атрибуты абонента, а также подчинённый сегмент "Заявка", в который записываются все заявки от данного абонента. Предварительное описание модели данных для сегмента не требуется, поэтому новые типы областей и подсегментов могут быть добавлены на этапе эксплуатации к конкретным записям без дополнительной обработки для прочих записей.

Стандартный язык запросов к базам данных IMS — DL/I[англ.].

Существует три основных формы иерархических баз данных IMS — полнофункциональные базы данных (поддерживают первичные и вторичные индексы), DEDB (быстродоступные, неиндексируемые, оптимизированные под интенсивную обработку транзакций), HALDB (усовершенствованный в поздних версиях формат полнофункциональных баз данных, поддерживающий хранение до 40 ТБ).

Монитор транзакций править

Частью системы управления базами данных IMS является встроенный менеджер транзакций (IMS TM, также известный как IMS DC) — один из «большой тройки» мониторов транзакций наряду с IBM CICS и Oracle Tuxedo[англ.]. Монитор IMS поддерживает взаимодействие с клиентами через VTAM и TCP/IP, обеспечивает поддержку сессий, проверку полученных данных, установку в очередь заданий на выполнение транзакций в базе данных, контроль выполнения транзакций. При этом IMS TM поддерживает кроме баз данных IMS также и базы данных DB2, для таких конфигураций может поставляться отдельно от СУБД IMS.

Литература править

  • Rick Long, Mark Harrington, Robert Hain, Geoff Nicholls. IMS Primer. — IBM, 2000. — 300 с. — (IBM Redbook).