IBM Information Management System ( IMS ) — это объединенная иерархическая база данных и система управления информацией , которая поддерживает обработку транзакций . [1]
IBM разработала IMS вместе с Rockwell и Caterpillar , начиная с 1966 года для программы Apollo , где она использовалась для инвентаризации очень большой спецификации материалов (BOM) для ракеты Saturn V Moon и космического корабля Apollo. [2]
Система впервые была признана работоспособной, когда первое сообщение «ГОТОВО» появилось на терминале IBM 2740 в Дауни, Калифорния , 14 августа 1968 года. [2] За промежуточный период IMS претерпела множество изменений по мере развития технологии IBM System/360. в текущие технологии z/OS и IBM zEnterprise System .
Верн Уоттс непрерывно работал над IMS с 1960-х годов [3] и в течение многих лет был главным архитектором IMS. Уоттс присоединился к IBM в 1956 году и работал в лабораториях разработки IBM в Силиконовой долине до своей смерти 4 апреля 2009 года. [4]
Компонент IMS Database хранит данные с использованием иерархической модели , которая сильно отличается от более поздней реляционной базы данных IBM , IBM Db2 . В IMS иерархическая модель реализуется с использованием блоков данных, известных как сегменты. Каждый сегмент может содержать несколько фрагментов данных, которые называются полями. [5] Например, база данных клиентов может иметь корневой сегмент (или сегмент наверху иерархии) с такими полями, как телефон, имя и возраст. Дочерние сегменты могут быть добавлены под другим сегментом; например, один сегмент заказа в каждом сегменте клиентов представляет каждый заказ, который клиент разместил в компании. Аналогично, каждый сегмент заказа может иметь множество дочерних сегментов для каждой позиции в заказе.
Существует три основные формы иерархических баз данных IMS:
Производительность DEDB достигается за счет использования высокопроизводительных методов доступа (Media Manager), асинхронной записи после фиксации и оптимизированных путей кода. Ведение журнала сведено к минимуму, поскольку никакие данные не обновляются на диске до момента фиксации, поэтому ведение журнала UNDO (перед изображением) не требуется, а также функция возврата не требуется. Незафиксированные изменения можно просто отменить. Начиная с IMS версии 11, DEDB могут использовать 64-разрядное хранилище z/OS для буферов базы данных. Архитектура DEDB включает в себя концепцию единицы работы (UOW), которая упростила внедрение эффективной утилиты онлайн-реорганизации. Эта функция включена в базовый продукт. [ нужна цитата ]
IMS — это менеджер транзакций ( IMS TM , также известный как IMS DC), который взаимодействует с конечным пользователем, подключенным через VTAM или TCP/IP (включая 3270 и веб-интерфейсы пользователя ) или другое приложение. Он может обрабатывать бизнес-функцию (например, снятие средств с банковского счета) и поддерживать состояние на протяжении всего процесса, гарантируя, что система правильно записывает бизнес-функцию в хранилище данных.
IMS TM использует парадигму обмена сообщениями и организации очередей . Программа управления IMS получает транзакцию, введенную с терминала (или веб-браузера, или другого приложения), а затем сохраняет транзакцию в очереди сообщений (в памяти или в наборе данных). Затем IMS вызывает свой планировщик для транзакции, поставленной в очередь, чтобы запустить программу бизнес-приложения в области обработки сообщений. Область обработки сообщений извлекает транзакцию из очереди сообщений IMS и обрабатывает ее, считывая и обновляя базы данных IMS и/или Db2 и обеспечивая правильную запись транзакции. Затем, если необходимо, IMS помещает ответное сообщение обратно в очередь сообщений IMS. Как только выходное сообщение готово и доступно, программа управления IMS отправляет его обратно на исходный терминал. IMS TM может обрабатывать весь этот процесс тысячи (или даже десятки тысяч) раз в секунду. В 2013 году IBM завершила тестирование IMS версии 13, продемонстрировав способность обрабатывать 100 000 транзакций в секунду в одной системе IMS. [9]
IMS TM предоставляет стандартную среду для выполнения транзакций. К концу 2000-х годов несколько китайских банков приобрели IMS для поддержки растущей финансовой индустрии страны. [10]
IMS дополняет IBM Db2 , систему реляционных баз данных IBM , представленную в 1982 году. IMS обычно работает быстрее, чем Db2, для обычных задач, но может потребовать больше усилий по программированию для проектирования и поддержки для неосновных задач.
Реляционное хранилище данных может использоваться в качестве дополнения к базе данных IMS. Например, IMS может обеспечивать основные транзакции банкомата, поскольку она хорошо справляется с такой конкретной задачей.