IBM IMS (Information Management System)

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 17:48, 22 апреля 2017.
IBM IMS (Information Management System)
IBM logo.svg
Разработчики: IBM
Выпущена: 1966; 56 years ago (1966)
Постоянный выпуск: IMS V14 / 5 October 2015 года; 6 years ago (2015-10-05)
Состояние разработки: Активна
Операционная система: IBM z/OS версии 2.1 или новее
Платформа: IBM System z
Лицензия: Проприетарное
Веб-сайт IMS V14 Announcement PDF

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

История

IBM разработала IMS с Rockwell и Caterpillar, начиная с 1966 года, для программы Apollo, где она была использована для инвентаризации очень большой спецификации материалов для ракеты-носителя «Сатурн-5» и космического аппарата «Аполлон».

Первое сообщение «IMS READY» появилось на терминале IBM 2740 в городе Дауни (Калифорния) 14 августа 1968 года.[1] В промежуточный период IMS претерпела множество изменений, поскольку технология IBM System/360 эволюционировала в современные технологии z/OS и System z9 и z10. Например, IMS теперь поддерживает Java, JDBC, XML, а с конца 2005 года веб-сервисы.

В течение многих лет Верн Уоттс был главным архитектором IMS. Уоттс пришел в IBM в 1956 году и работал в лабораториях IBM в Силиконовой Долине до своей смерти 4 апреля 2009 года.[2] Он постоянно работал над IMS с 1960-х годов.

База данных

Компонент базы данных IMS сохраняет данные, используя иерархическую модель, которая сильно отличается от более поздней выпущенной IBM реляционной базы данных DB2. В IMS иерархическая модель реализуется с использованием блоков данных, известных как сегменты. Каждый сегмент может содержать несколько фрагментов данных, которые называются полями. Например, база данных клиента может иметь корневой сегмент (или сегмент в верхней части иерархии) с такими полями, как телефон, имя и возраст. Дочерние сегменты могут быть добавлены под другой сегмент, например, один сегмент заказа под каждым сегментом клиента, представляющий каждый заказ, который клиент разместил в компании. Аналогично, каждый сегмент заказа может иметь много дочерних сегментов для каждого элемента заказа. В отличие от других баз данных, вам не нужно определять все данные сегмента в IMS. Сегмент может быть определен размером 40 байтов, но только определить одно поле длиной шесть байтов в качестве ключевого поля, которое вы можете использовать для поиска сегмента при выполнении запросов. IMS будет извлекать и сохранять все 40 байтов в соответствии с указаниями программы, но может не понимать (или не заботиться) о том, что представляют другие байты. На практике часто все данные в сегменте могут отображаться в тетрадь COBOL. Помимо использования запросов DL/I, поле IMS может быть определено в IMS таким образом, что данные могут быть скрыты от определенных приложений по соображениям безопасности. Компонент базы данных IMS можно приобрести автономно, без компонента диспетчера транзакций и пользоваться такими системами, как CICS.

Существуют три основные формы иерархических баз данных IMS:

Полнофункциональные базы данных

  • Непосредственно из баз данных DL/I (Data Language Interface), изначально созданных для Apollo, полнофункциональные базы данных могут иметь первичный и вторичный индексы, доступ к которым осуществляется с помощью вызовов DL/I из прикладной программы, например, вызовы SQL для DB2 или Oracle.
  • Доступ к полнофункциональным базам данных может осуществляться различными способами, хотя иерархически прямой (HDAM) и иерархически индексно-прямой (HIDAM) доминируют. Другие форматы - это простой иерархически индексно-последовательный (SHISAM), иерархически последовательный (HSAM) и иерархически индексно-последовательный (HISAM).
  • Полнофункциональные базы данных хранят данные с использованием VSAM, собственного метода доступа к z/OS или последовательного переполнения (OSAM), метода доступа, специфичного для IMS, который оптимизирует программу канала ввода-вывода для шаблонов доступа IMS. В частности, производительность OSAM выигрывает от последовательного доступа к базам данных IMS (последовательной буферизации OSAM).

Базы данных «Быстрый путь»

  • Базы данных «Быстрый путь» оптимизированы для чрезвычайно высоких скоростей транзакций.[3]Базы данных ввода данных (DEDBs) и базы данных основных хранилищ (MSDBs) - это два типа баз данных«Быстрый путь». В DEDBs используется метод прямого (рандомного) доступа, аналогичный полнофункциональному HDAM, а IMS V12 предоставляет функцию вторичного индекса DEDB. MSDBs не поддерживают вторичное индексирование. Варианты виртуального хранилища (VSO) DEDBs могут заменять MSDBs в современных версиях IMS, поэтому MSDBs постепенно исчезают.

Производительность DEDB связана с использованием метода доступа высокой производительности (Media Manager), асинхронной записи после фиксации и оптимизированных путей кода. Ведение журнала сводится к минимуму, поскольку данные не обновляются на диске до фиксации, поэтому для ведения журнала UNDO (before image) не требуется и не используется функция backout. Незафиксированные изменения могут быть просто отброшены. Начиная с IMS версии 11, DEDBs могут использовать 64-битное хранилище z/OS для буферов базы данных. Архитектура DEDBs включает в себя концепцию Единицы работы (UOW), которая сделала эффективную онлайн-утилиту реорганизации простой в реализации. Эта функция включена в базовый продукт.

Большие базы данных высокой доступности (HALDBs)

  • IMS V7 представила HALDBs, расширение полнофункциональных баз данных IMS, чтобы обеспечить лучшую доступность, улучшенную обработку чрезвычайно больших объемов данных и, в IMS V9, онлайн-реорганизацию для поддержки постоянной доступности. (Сторонние инструменты предоставляли исключительно онлайн-реорганизацию до IMS V9.) HALDB может хранить более 40 терабайт данных.[Источник 1]

Быстрые пути DEDBs могут быть построены только на VSAM. Базы данных DL/I могут быть построены на VSAM или OSAM, с некоторыми ограничениями в зависимости от организации базы данных. Хотя максимальный размер набора данных z/OS VSAM вырос до 128 ТБ несколько лет назад, IMS по-прежнему ограничивает набор данных VSAM до 4 ГБ (и OSAM до 8 ГБ). Это «ограничение» просто означает, что клиенты IMS будут использовать несколько наборов данных для больших объемов данных. VSAM и OSAM обычно называются методами доступа, а «логическое» представление IMS базы данных называется «организацией» (HDAM, HIDAM, HISAM и т. д.). Внутренне данные связаны с помощью 4-байтного указателя или адреса. В наборах данных базы данных (DBDSs) указатели упоминаются как RBA (относительные байтовые адреса).

В совокупности возможности IMS, связанные с базой данных, часто называются IMS DB. IMS DB выросла и развивалась в течение почти четырех десятилетий, чтобы поддержать множество бизнес-потребностей. IMS, с помощью аппаратного обеспечения z/OS - Coupling Facility, - поддерживает совместное использование баз данных N-way между IMS. Многие большие конфигурации включают в себя несколько систем IMS, управляющих общими базами данных, методику, обеспечивающую масштабируемый рост и избыточность системы в случае аппаратных или программных сбоев.

Менеджер транзакций

IMS также является надежным менеджером транзакций (IMS TM, также известный как IMS DC) - одним из «больших трех» классических менеджеров транзакций вместе с CICS и BEA (теперь Oracle) Tuxedo. Менеджер транзакций взаимодействует с конечным пользователем (подключенным через VTAM или TCP/IP, включая 3270 и веб-пользовательские интерфейсы) или другим приложением, обрабатывает бизнес-функцию (например, снятие банковского счета) и поддерживает состояние в течение всего процесса, следя за тем, чтобы система правильно записывала бизнес-функцию в хранилище данных. Таким образом, IMS TM очень похож на веб-приложение, работающее через программу CGI (например), чтобы предоставить интерфейс для запроса или обновления базы данных. IMS TM обычно использует либо IMS DB, либо DB2 в качестве своей базы данных. При использовании отдельно с DB2 компонент IMS TM можно приобрести без компонента IMS DB.

IMS TM использует парадигму обмена сообщениями и очередей. Управляющая программа IMS получает транзакцию, введенную с терминала (или веб-браузера или другого приложения), а затем сохраняет транзакцию в очереди сообщений (в памяти или в наборе данных). Затем IMS вызывает его планировщик в очереди транзакций для запуска программы бизнес-приложения в области обработки сообщений. Область обработки сообщений извлекает транзакцию из очереди сообщений IMS и обрабатывает ее, считывая и обновляя базы данных IMS и/или DB2, обеспечивая надлежащую регистрацию транзакции. Затем, при необходимости, IMS помещает ответное сообщение обратно в очередь сообщений IMS. После того, как выходное сообщение завершено и доступно, программа управления IMS отправляет его обратно на исходный терминал. IMS TM может обрабатывать весь этот процесс тысячи (или даже десятки тысяч) раз в секунду. Недавно завершившийся тест IBM продемонстрировал способность обрабатывать 100 000 транзакций в секунду в одной системе IMS.

Приложение

До IMS предприятиям и правительствам приходилось писать свои собственные среды обработки транзакций. IMS TM обеспечивает простую, удобную в использовании и надежную стандартную среду для высокопроизводительного исполнения транзакций. Фактически, большая часть банковской отрасли мира полагается на IMS, включая Федеральную резервную систему США. Например, есть вероятность, что снятие денег с банкомата приведет к транзакции IMS. Недавно несколько китайских банков приобрели IMS для поддержки растущей финансовой индустрии этой страны.

Сегодня IMS дополняет DB2, систему реляционных баз данных IBM, представленную в 1982 году. В целом IMS работает быстрее, чем DB2 для общих задач, но может потребовать больше усилий по программированию для проектирования и обслуживания непервичных задач. Реляционные базы данных, как правило, доказали превосходство в случаях, когда требования, особенно требования к отчетности, часто меняются или требуют различных «точек зрения» вне первичной или исходной функции.

Реляционное «хранилище данных» может использоваться для дополнения базы данных IMS. Например, IMS может предоставлять первичные транзакции ATM, потому что он хорошо работает для такой конкретной задачи. Тем не менее, ночные копии данных IMS могут быть скопированы в реляционные системы, так что для данных могут выполняться различные отчеты и задачи обработки. Это позволяет каждому типу базы данных лучше ориентироваться на его относительную силу.

Примечания

  1. Первое сообщение «IMS READY» появилось на терминале IBM 2740 в городе Дауни (Калифорния) 14 августа 1968 года.
  2. Уоттс пришел в IBM в 1956 году и работал в лабораториях IBM в Силиконовой Долине до своей смерти 4 апреля 2009 года.
  3. Базы данных «Быстрый путь» оптимизированы для чрезвычайно высоких скоростей транзакций.

Источники

  1. Полное руководство IMS HALDB: Все, что вам нужно знать, чтобы управлять HALDB [Электронный ресурс]: International Business Machines Corporation. — Дата обращения: 08.04.2017. Режим доступа: http://www.redbooks.ibm.com/redbooks/pdfs/sg246945.pdf.

Ссылки/Литература

  • Блакмэн К.Р. [Электронный ресурс]: Техническое примечание: IMS отмечает тридцать лет продукта IBM (IBM Systems Journal) / Дата обращения: 08.04.2017. Режим доступа: http://ieeexplore.ieee.org/document/5387121/
  • Рик Лонг [Электронный ресурс]: Пример IMS / Дата обращения: 08.04.2017. Режим доступа: http://www.redbooks.ibm.com/redbooks/pdfs/sg245352.pdf