IMS (СУБД)

Из Википедии, бесплатной энциклопедии

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…

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

История[править | править код]

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[en].

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

Монитор транзакций[править | править код]

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

Литература[править | править код]

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