IMS (СУБД)

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

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 года.

База данных[править | править вики-текст]

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

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

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

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

Быстродоступные базы данных

  • Быстродоступные базы данных оптимизированы под высокие операционные нужды. DEDBs и основное запоминающее устройство (MSDBs) являются двумя типами быстрых баз данных. Но ни один из них не обеспечивает индексации. VSO и DEDBs могут заменить MSDBs в современных выпусках IMS, таким образом MSDBs постепенно выводится из обращения.

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

  • IMS V7 представляет HALDBs, расширение полных баз данных IMS, чтобы предоставить более высокую производительность, лучшую обработку больших объёмов данных, и, с IMS V9, онлайн реорганизация поддерживает продолжительную возможность. (Инструменты третьей части исключительно обеспечили онлайн обновление до IMS V9.) HALDBS может сохранить более 40 терабайт данных.
  • В IMS v10 включена поддержка XML, доступ к данным IMS через XQuery, инструменты Java и XML для упрощения разработки и др.
  • IMS v11 обеспечивает прямой доступ к данным IMS средствами SQL, расширенная поддержка Java, упрощающая написание IMS приложений.
  • В 2011 году представлена IMS v12, в которую внедрена поддержка TCP/IP, улучшена взаимосвязь мужду IMS системами Multiple IMS Systems Coupling (MSC). В IMS v12 появился инструмент с графической средой, основанной на Eclipse, позволяющий значительно упростить разработку IMS приложений, и множество других дополнений и улучшений.

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

Все вместе связанные с базой данных способности IMS часто называют IMS DB. IMS DB увеличивался и развивался почти 4 десятилетия до поддержки бесчисленных бизнес-потребностей.

Операционный менеджер[править | править вики-текст]

IMS менеджер транзакций (IMS TM , также известный как IMS DC) — один из «большой тройки» наряду с CICS и БРИТАНСКОЙ ЕВРОПЕЙСКОЙ АВИАТРАНСПОРТНОЙ КОМПАНИЕЙ (сейчас Oracle). Операционный менеджер взаимодействует с конечным пользователем (связанный через VTAM или TCP/IP, включая 3270 и пользовательские интерфейсы Сети) или другой оператор, обрабатывает бизнес функцию (такую как изъятие банковского счета), и поддерживает управление в течение процесса, удостоверяясь, что система делает запись бизнес функции правильно в хранилищах данных. Таким образом IMS TM выглядит как веб-приложение, работающее через программу CGI (к примеру), чтобы предоставить интерфейс, чтобы проверить или обновить базу данных. IMS TM обычно использует IMS DB или DB2 , как базу данных. Когда используется отдельно с DB2, то компонент IMS TM может быть приобретен отдельно от компонента IMS DB.

Реляционное «Хранилище данных» может быть использовано в дополнение к базе данных МСМ. IMS TM использует сообщения и парадигменную очередь. IMS контролирует программу, получающую транзакцию введенную с терминала (или Web-браузера или другой программы), и затем отправляет транзакцию на хранение в очередь сообщений (в памяти или в блоке данных). IMS тогда вызывает свой планировщик транзакций в очереди, чтобы запустить бизнес-приложение в области обработки сообщений. Сообщение, обрабатывающее регион, восстанавливает сделку с IMS очереди и обрабатывает его, читая и обновляя IMS и/или DB2 базу данных, гарантируя надлежащую регистрацию сделки. Затем, если потребуется, IMS поставит сообщение об ответе обратно в очередь сообщений IMS. Как только исходящее сообщение выполнено и доступно, контрольная программа IMS отсылает обратно сообщение к терминалу. IMS TM может управлять всем этим процессом тысячи (или даже десятки или сотни) тысяч раз в секунду.

Применение[править | править вики-текст]

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

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

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