ИДМС
Разработчик(и) | СА Технологии |
---|---|
Первоначальный выпуск | 1973 |
Стабильная версия | 18.5 |
Операционная система | z/OS , z/VM , z/VSE , BS2000/OSD |
Платформа | Главный компьютер |
Тип | Сетевая СУБД |
Веб-сайт | что |
Интегрированная система управления базами данных ( IDMS ) представляет собой сетевой модели ( CODASYL ) систему управления базами данных для мэйнфреймов . Впервые он был разработан в BF Goodrich , а затем продан компанией Cullinane Database Systems (переименованной в Cullinet в 1983 году). С 1989 года продукт принадлежал компании Computer Associates (ныне CA Technologies), которая переименовала его в Advantage CA-IDMS, а позже просто в CA IDMS . В 2018 году Broadcom приобрела CA Technologies, переименовав ее обратно в IDMS . [1]
История
[ редактировать ]Истоки IDMS уходят в новаторскую систему управления базами данных под названием Integrated Data Store (IDS), разработанную в General Electric командой под руководством Чарльза Бахмана и впервые выпущенную в 1964 году. [2] В начале 1960-х годов IDS была взята из своей первоначальной формы компьютерной группой химического подразделения BF Goodrich и переписана на языке, названном Intermediate System Language (ISL). [3] ISL был разработан как переносимый язык системного программирования, способный создавать код для различных целевых машин. Поскольку ISL фактически был написан на ISL, его можно было относительно легко переносить на другие машинные архитектуры, а затем создавать код, который будет выполняться на них.
Компьютерная группа Chemical Division подумывала о продаже копий IDMS другим компаниям, но руководство заявило, что они не занимаются бизнесом по производству программных продуктов. В конце концов, с Джоном Каллинаном была заключена сделка о покупке прав и продаже продукта. Поскольку Cullinane была обязана возвращать гонорары компании BF Goodrich , все дополнительные продукты были указаны и выставлены счета как отдельные продукты – даже если они были обязательными для работы основного продукта IDMS. Иногда это сбивало с толку клиентов.
Первоначальными платформами были компьютер GE 235 и компьютер коммутации сообщений GE DATANET-30 : позже продукт был портирован на мэйнфреймы IBM, а также на оборудование DEC и ICL . Версия, портированная IBM, работает на мэйнфреймах IBM ( System/360 , System/370 , System/390 , zSeries , System z9 ). В середине 1980-х годов утверждалось, что было продано около 2500 лицензий IDMS. В число пользователей входили Стратегическое авиационное командование , Ford of Canada, Ford of Europe, Jaguar Cars, Clarks Shoes UK, AXA /PPP, MAPFRE , Royal Insurance, Tesco , Manulife, Hudson's Bay Company , Cleveland Clinic, Bank of Canada , General Electric, Aetna. и BT в Великобритании.
Версия для использования на компьютерах серии PDP-11 Digital Equipment Corporation была продана DEC и продавалась как DBMS-11. В 1976 году лицензия на исходный код была передана компании ICL , которая портировала программное обеспечение для работы на своих мэйнфреймах серии 2900 , а впоследствии и на более старой линейке 1900 . ICL продолжила разработку программного обеспечения независимо от Cullinane, продавая исходный портированный продукт под названием ICL 2900 IDMS и расширенную версию как IDMSX . В этой форме она использовалась многими крупными пользователями в Великобритании, примером может служить система «Плати по мере заработка», которой управляет Налоговое управление США. Многие из этих систем IDMSX для правительства Великобритании все еще работали в 2013 году.
В начале-середине 1980-х годов системы управления реляционными базами данных начали становиться все более популярными, чему способствовало увеличение мощности оборудования и переход на миникомпьютеры и архитектуру клиент-сервер . Реляционные базы данных предлагали более высокую производительность разработки по сравнению с системами CODASYL , а традиционные возражения, связанные с низкой производительностью, постепенно уменьшались.
Каллинет попытался продолжить конкуренцию IBM DB2 и другим реляционным базам данных , разработав реляционный интерфейс и ряд инструментов повышения производительности. В их число входила Автоматическая система (ASF), в которой использовалась ранее существовавшая функция IDMS под названием LRF (Средство логической записи). ASF представлял собой генератор баз данных с возможностью заполнения полей, который также разрабатывал мини-приложение для обслуживания таблиц.
Трудно судить, помогли ли такие функции продлить срок службы продукта, но в долгосрочной перспективе они не оказали большого влияния. Тех пользователей, которые остались с IDMS, в первую очередь интересовала его высокая производительность, а не реляционные возможности. Было широко признано (чему способствовала громкая кампания Э. Ф. Кодда , отца реляционной модели ), что существует значительная разница между реляционной базой данных и сетевой базой данных с реляционным внешним видом.
В 1989 году Computer Associates продолжила работу после приобретения Cullinet. [4] с разработкой и выпуском версии 12.0 с полным SQL в 1992–93 годах. Компания CA Technologies продолжала продвигать и поддерживать CA IDMS и расширенную IDMS в последующих выпусках за счет поддержки TCP/IP , двухфазной фиксации поддержки XML , публикации , поддержки специальных процессоров zIIP , доступа через Интернет в сочетании с сервером CA IDMS, опцией SQL и графическим пользовательским интерфейсом. администрирование базы данных с помощью инструмента CA IDMS Visual DBA. Системы CA-IDMS сегодня по-прежнему используются в бизнесе по всему миру. Многие клиенты решили обеспечить доступность своих приложений через Интернет с помощью опции CA-IDMS SQL, которая является частью стратегии двойной базы данных CA Technologies.
Интегрированный словарь данных
[ редактировать ]Одной из сложных особенностей IDMS был встроенный интегрированный словарь данных (IDD). IDD был в первую очередь разработан для поддержки определений базы данных. Это сама была база данных IDMS. Администраторы баз данных (администраторы баз данных) и другие пользователи взаимодействуют с IDD, используя язык, называемый языком определения словаря данных (DDDL). IDD также использовался для хранения определений и кода для других продуктов семейства IDMS, таких как ADS/Online и IDMS-DC. Сила IDD заключалась в том, что он был расширяемым и мог использоваться для создания определений практически чего угодно. Некоторые компании использовали его для разработки собственной документации.
Обзор
[ редактировать ]Логическая модель данных
[ редактировать ]Модель данных, предлагаемая пользователям, — это сетевая модель CODASYL . Основными понятиями структурирования в этой модели являются записи и множества. Записи по существу следуют шаблону COBOL , состоящему из полей разных типов: это позволяет создать сложную внутреннюю структуру, например повторяющиеся элементы и повторяющиеся группы.
Наиболее отличительной концепцией структурирования в модели Codasyl является множество . Не путать с математическим набором: набор Codasyl представляет собой отношение «один ко многим» между записями: один владелец, множество членов. Тот факт, что запись может быть членом множества различных наборов, является ключевым фактором, отличающим сетевую модель от более ранней иерархической модели . Как и в случае с записями, каждый набор принадлежит именованному типу набора (разные типы наборов моделируют разные логические отношения). Наборы фактически упорядочены, и последовательность записей в наборе можно использовать для передачи информации. Запись может участвовать в качестве владельца и члена любого количества наборов.
Записи имеют идентичность, причем идентичность представлена значением, известным как ключ базы данных . В IDMS, как и в большинстве других реализаций Codasyl, ключ базы данных напрямую связан с физическим адресом записи на диске. Ключи базы данных также используются в качестве указателей для реализации наборов в виде связанных списков и деревьев. Это тесное соответствие между логической моделью и физической реализацией (которое не является строго необходимой частью модели Codasyl, но было характеристикой всех успешных реализаций) отвечает за эффективность поиска в базе данных, но также делает такие операции, как загрузка базы данных, недопустимыми. и реструктуризация довольно дорогая.
Доступ к записям можно получить напрямую по ключу базы данных, следуя заданным связям или путем прямого доступа с использованием значений ключей. Первоначально единственным прямым доступом было хеширование — механизм, известный в модели Codasyl как доступ CALC. В IDMS доступ к CALC реализуется через внутренний набор, связывающий все записи, имеющие одно и то же значение хеш-функции, с записью владельца, занимающей первые несколько байтов каждой страницы диска.
В последующие годы в некоторые версии IDMS была добавлена возможность доступа к записям с использованием индексов, подобных BTree .
Хранилище
[ редактировать ]IDMS организует свои базы данных в виде последовательности файлов. Эти файлы сопоставляются и предварительно форматируются в так называемые области . Области разделены на страницы, соответствующие физическим блокам на диске. Записи базы данных хранятся в этих блоках.
Администратор базы данных выделяет фиксированное количество страниц в файле для каждой области. Затем администратор базы данных определяет, какие записи должны храниться в каждой области, а также детали того, как они должны храниться.
IDMS распределяет специальные страницы распределения пространства по всей базе данных. Эти страницы используются для отслеживания свободного места, доступного на каждой странице базы данных. Чтобы снизить требования к вводу-выводу, свободное пространство отслеживается для всех страниц только тогда, когда свободное пространство в области падает ниже 30%.
Доступны четыре метода хранения записей в базе данных IDMS: прямой, последовательный, CALC и VIA. Версия Fujitsu/ICL IDMSX расширяет эту возможность еще двумя методами: Page Direct и Random.
В прямом режиме ключ целевой базы данных задается пользователем и сохраняется как можно ближе к этому ключу БД, при этом фактический ключ БД, на котором хранится запись, возвращается в прикладную программу.
При последовательном размещении (не путать с индексированным последовательным) каждая новая запись просто помещается в конец области. Этот вариант используется редко.
CALC использует алгоритм хеширования, чтобы решить, где разместить запись; хэш-ключ затем обеспечивает эффективный поиск записи. Вся область CALC предварительно отформатирована с заголовком, состоящим из специальной записи «владельца» CALC. Алгоритм хеширования определяет номер страницы (по которому можно определить адрес физического диска), а затем запись сохраняется на этой странице или как можно ближе к ней и связывается с записью заголовка на этой странице с помощью CALC. набор. Записи CALC связаны с записью владельца CALC страницы с помощью единого списка ссылок (указателей). Таким образом, владелец CALC, расположенный в заголовке страницы, владеет набором всех записей, нацеленных на его конкретную страницу (независимо от того, хранятся ли записи на этой странице или, в случае переполнения, на другой странице).
CALC обеспечивает чрезвычайно эффективное хранение и извлечение данных: IDMS может извлекать записи CALC с помощью операций ввода-вывода 1.1. Однако метод плохо справляется с изменением значения первичного ключа, и необходима дорогостоящая реорганизация, если необходимо расширить количество страниц. Обходной путь — расширить область, а затем запустить прикладную программу, которая последовательно сканирует область для каждой записи CALC, а затем использует команду MODIFY для обновления каждой записи. В результате каждая запись CALC подключается к набору CALC для правильной целевой страницы, рассчитанной для нового диапазона страниц области. Недостатком этого метода является то, что теперь на целевых страницах будет исчезающе мало записей CALC, а навигация по набору CALC каждой страницы, вероятно, потребует множества операций ввода-вывода. В результате рекомендуется использовать этот обходной путь только в крайних обстоятельствах, поскольку производительность снизится.
Размещение VIA пытается сохранить запись рядом с ее владельцем в определенном наборе. Обычно записи группируются на той же физической странице, что и владелец. Это приводит к эффективной навигации, когда доступ к записи осуществляется в соответствии с установленным отношением. (VIA позволяет хранить записи в другой области IDMS, чтобы их можно было хранить отдельно от владельца, но при этом для повышения эффективности оставаться сгруппированными вместе. В IDMSX они также могут быть смещены от владельца на определенное количество страниц).
Page Direct (только для IDMSX) аналогичен режиму Direct, однако указывается номер целевой страницы базы данных, и запись подключается к цепочке CALC для этой страницы.
Случайный (только для IDMSX) номер целевой страницы назначается экземпляру записи, когда она сохраняется с использованием алгоритма CALC (при этом либо используется ключ внутри записи, либо, в случае случайного использования без ключа, используются дата и время хранения в качестве начальное значение для алгоритма CALC).
Наборы обычно поддерживаются в виде связанных списков, используя ключ базы данных в качестве указателя. Каждая запись включает прямую ссылку на следующую запись; Разработчик базы данных может выбрать, включать ли указатели владельца и предыдущие указатели (если они не предусмотрены, навигация в этих направлениях будет медленнее).
Некоторые версии IDMS впоследствии включали возможность определять индексы: либо индексы записей, позволяющие находить записи на основе знания вторичного ключа, либо индексы наборов, позволяющие извлекать элементы набора по значению ключа.
Записи IDMSX Page Direct и Random Placement обычно используются вместе с индексами записей, как описано выше. Сами индексы подчиняются правилам размещения: либо прямым (что на самом деле означает «CALC с использованием идентификатора индекса в качестве ключа»), либо CALC.
История выпусков (эпоха Computer Associates/CA)
[ редактировать ]Релизная версия | Дата выпуска | Примеры функций |
---|---|---|
Р12 | 1992 | Круглосуточная обработка, логическое физическое разделение, управление каталогом, управление взаимоблокировками , централизованное средство безопасности, SQL |
Р14 | 1999-01-09 [5] | Параллельная эксплуатация сисплекса, многозадачность |
15 рэндов | 2001-04-25 [6] | Улучшенная производительность, обмен данными |
Р16 | 2004-04-13 [7] | Двухфазная фиксация , TCP/IP , томов параллельного доступа эксплуатация XML , публикация |
Р17 | 2008-10-30 [8] | Улучшена производительность, поддержка zIIP , улучшены функции автоматического восстановления. [9] |
Р18 | 2011-06-02 | Расширенная поддержка zIIP, автоматическая настройка системы, улучшенная производительность, упрощенная установка и обслуживание. |
Р19 |
Группы пользователей
[ редактировать ]У IDMS есть некоммерческие ассоциации пользователей, которые используют или поддерживают CA IDMS или связанные продукты. Они включают в себя:
- CA IDMS (IUA EIUA) Глобальное сообщество пользователей
- AID – Ассоциация пользователей IDMS Германия
- Австралийская группа пользователей IDMS
- Ассоциация пользователей IDMS Бенилюкса
- Группа пользователей IDMS в Чикаго
- Комитет пользователей IDMS Квебека
- Форум пользователей CA-IDMS в Далласе
- Европейская группа пользователей IDMS
- Финская группа пользователей IDMS
- AUI – Ассоциация пользователей IDMS – Франция
- Группа пользователей Rocky Mountain IDMS
- Ассоциация пользователей IDMS Великобритании
См. также
[ редактировать ]- Калифорния Датаком/БД
- IBM Система управления информацией
- ICL IDMS(X)
Ссылки
[ редактировать ]- ^ «Broadcom приобретет CA Technologies за 18,9 миллиардов долларов наличными» . 11 июля 2018 г.
- ^ Эндрю Л. Рассел (9 апреля 2011 г.). «Устная история: Чарльз Бахман» . Сеть устной истории IEEE . Проверено 3 сентября 2013 г.
- ^ https://dl.acm.org/doi/10.1145/954639.954646
- ^ Информация и результаты «CA завершает слияние Cullinet». (Computer Associates International Inc., Cullinet Software Inc.)' | AccessMyLibrary – Содействие пропаганде библиотек
- ^ findarticles.com
- ^ Computer Associates объявляет о выпуске CA-IDMS 15.0 для OS390 и zOS. Расширенные функции доступности и масштабируемости поддерживают растущие требования клиентов к транзакциям электронного бизнеса... [ мертвая ссылка ]
- ^ CAs Advantage База данных CA-IDMS r16 для zOS оптимизирует производительность, простоту использования и гибкость. База данных клиентов BT объемом 1,7 терабайта ежегодно обрабатывает 10 миллиардов транзакций с помощью... [ мертвая ссылка ]
- ^ CA IDMS r17 использует механизм zIIP для обеспечения большей производительности. Последняя версия базы данных подчеркивает лидерство центров сертификации в использовании специализированных процессоров мэйнфреймов IBM. Расширенный ар... [ мертвая ссылка ]
- ^ http://www.ca.com/~/media/Files/productbriefs/idms_db_ps_190116.pdf. Архивировано 8 июля 2011 г. в Wayback Machine. [ пустой URL PDF ]