CA IDMS (Integrated Database Management System)

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 16:14, 21 января 2019.
CA IDMS
1200px-CA Technologies brand.svg.png
Разработчики: CA IDMS
Выпущена: 1973
Постоянный выпуск: 18.5 / 2018.10.15
Платформа: x86-64
Тип ПО: DBMS
Веб-сайт www.ca.com/us/products/ca-idms.html

CA IDMS (Integrated Database Management System) является в первую очередь сетевой (CODASYL) системой управления базами данных для мэйнфреймов. Он был впервые разработан Goodrich Corporation, а затем продан Cullinane Database Systems (переименован в Cullinet в 1983 году). С 1989 года этот продукт принадлежит Computer Associates (теперь CA Technologies), который переименовал его в Advantage CA-IDMS, а затем просто в CA IDMS(Integrated Database Management System)[Источник 1].

История

Корни CA IDMS (Integrated Database Management System) тянутся к новаторской системе управления базами данных под названием IDS (Integrated Data Store), разработанной в General Electric командой во главе с Чарльзом Бахманом и впервые выпущенной в 1964 году[Источник 2].

В начале 1960-х годов IDS (Intrusion Detection System) была создана программистами химического отдела B.F. Goodrich и переписана на языке Intermediate System Language (ISL). ISL был разработан как переносимый язык системного программирования, способный создавать код для различных целевых машин. ISL можно было портировать на другие машинные архитектуры с относительной легкостью, а затем создать код, который будет выполняться на них.

Компьютерный отдел химического подразделения задумалась о продаже копий CA IDMS (Integrated Database Management System) другим компаниям, но руководство сообщило, что они занимаются продажей программных продуктов. В конечном итоге с Джоном Куллинане была заключена сделка, чтобы купить права и продать продукт.

Поскольку Куллинане должен был отдать право владения в пользу B.F. Goodrich, все дополнительные продукты были отданы и выставлены в качестве отдельных продуктов - даже если они были обязательными для работы основного продукта IDMS. Это иногда путают клиенты.

Первоначальными платформами были компьютер GE 235 и компьютер коммутации сообщений GE DATANET-30: позднее продукт был перенесен на мэйнфреймы IBM System/360 и аппаратные средства DEC Alpha и ICL[Источник 3].

Портированная IBM версия работает на системах мейнфреймов IBM System/360, IBM System/370, IBM System/390, zSeries, IBM System z9). В середине 80-х годов было заявлено, что было продано около 2500 лицензий CA IDMS (Integrated Database Management System). Среди пользователей были стратегическое воздушное командование, Ford of Canada, Ford of Europe, Jaguar Cars, Clarks Shoes UK, AXA / PPP, MAPFRE, Royal Insurance, Tesco, Manulife, компания Hudson's Bay, Кливлендская клиника, Bank of Canada, General Electric, Aetna И BT в Великобритании.

Версия для использования на компьютерах серии DECSYSTEM была продана DEC Alpha и продавалась как DBMS10, а затем DBMS20.

В 1976 году исходный код был лицензирован для ICL, который портировал программное обеспечение для работы на своих мэйнфреймах серии 2900, а затем и в более раннем диапазоне 1900 года. ICL продолжила разработку программного обеспечения независимо от Cullinane, продавая оригинальный портированный продукт под названием ICL 2900 IDMS и расширенную версию в виде IDMSX. В этой форме он использовался многими крупными британскими пользователями, примером может служить система Pay-As-You-Earn, управляемая Inland Revenue. Многие из этих систем IDMSX для правительства Великобритании все еще работают в 2013 году.

В начале-середине 1980-х годов системы управления реляционными базами стали становиться все более популярными, чему способствуют увеличение аппаратной мощности и переход на миникомпьютеры и архитектуру клиент-сервер. Реляционные базы данных предлагали улучшенную производительность разработки по сравнению с системами CODASYL, а традиционные возражения, основанные на низкой производительности, постепенно отходили на второй план.

Cullinet попытался продолжить конкурировать с IBM DB2 и другими реляционными базами данных, разработав реляционный интерфейс и ряд инструментов повышения производительности. Они включали автоматическую систему (ASF (Apache Software Foundation)), в которой использовалась ранее существовавшая функция CA IDMS (Integrated Database Management System), называемая LRF (средство логической записи). ASF (Apache Software Foundation) был генератором базы данных «заполняющий пробелы», который также разрабатывал мини-приложение для поддержки таблиц.

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

В 1989 году Computer Associates продолжили работу над приобретением Cullinet с разработкой и выпуском Release 12.0 с полным SQL (Structured Query Language) в 1992-1993 годах.

В настоящее время CA Technologies активно продает и поддерживает CA IDMS (Integrated Database Management System) и расширенную IDMS в последующих выпусках благодаря поддержке TCP / IP, поддержке двухфазной фиксации, публикации XML (eXtensible Markup Language), поддержке процессоров zIIP, доступу через Интернет в сочетании с CA IDMS Server, SQL Option И администрирование базы данных GUI (Graphical User Interface) с помощью инструмента CA IDMS Visual DBA.

Системы CA-IDMS сегодня по-прежнему работают во всем мире. Многие клиенты выбрали веб-возможности своих приложений через CA-IDMS SQL Option, который является частью двойной базы данных CA Technologies.

Интегрированный словарь данных

Одной из сложных особенностей CA IDMS (Integrated Database Management System) был встроенный интегрированный словарь данных (IDD). IDD была разработана в первую очередь для поддержки определений баз данных. Это была сама база данных IDMS.

Администраторы баз данных (DBA) и другие пользователи, сопряженные с IDD, используют язык, называемый языком определения словаря данных (DDDL).

IDD также использовался для хранения определений и кода для других продуктов семейства CA IDMS (Integrated Database Management System), таких как ADS / Online и IDMS-DC.

Сила IDD заключалась в том, что она была расширяемой и могла использоваться для создания определений практически всего. Некоторые компании использовали его для разработки внутренней документации.

Обзор

Логическая модель данных

Модель данных, предлагаемая пользователям, представляет собой сетевую модель CODASYL. Основными концепциями структурирования в этой модели являются записи и наборы. Записи по существу следуют шаблону COBOL (COmmon Business Oriented Language), состоящему из полей разных типов: это разрешает сложную внутреннюю структуру, такую ​​как повторяющиеся элементы и повторяющиеся группы.

Отличительной концепцией структурирования в модели Codasyl является множество. Чтобы не путать с математическим набором, набор Codasyl представляет собой отношение «один ко многим» между записями: один владелец, многие члены. Тот факт, что запись может быть членом во многих разных наборах, является ключевым фактором, который отличает модель сети от более ранней иерархической модели. Как и в случае с записями, каждый набор относится к именованному типу набора (разные типы множеств моделируют разные логические отношения). Наборы фактически упорядочены, и последовательность записей в наборе может использоваться для передачи информации. Запись может участвовать в качестве владельца и члена любого количества наборов.

Записи имеют идентификатор, а идентификатор представлен значением, известным как ключ базы данных. В CA IDMS (Integrated Database Management System), как и в большинстве других реализаций Codasyl, ключ базы данных напрямую связан с физическим адресом записи на диске. Ключи базы данных также используются в качестве указателей для реализации наборов в виде связанных списков и деревьев. Это тесное соответствие между логической моделью и физической реализацией (которая не является строго необходимой частью модели Codasyl, но была характерной для всех успешных реализаций) отвечает за эффективность извлечения базы данных, но также делает такие операции, как загрузка базы данных и реструктуризация довольно дорогими.

Доступ к записям можно получить непосредственно с помощью ключа базы данных, путем выполнения заданных отношений или путем прямого доступа с использованием значений ключа. Первоначально единственным прямым доступом был хэширование, механизм, известный в модели Codasyl как доступ CALC. В IDMS доступ CALC реализуется через внутренний набор, связывая все записи, которые имеют одно и то же значение хэша, для записи владельца, которая занимает первые несколько байтов каждой страницы диска.

В последующие годы некоторые версии CA IDMS (Integrated Database Management System) добавили возможность доступа к записям с использованием индексов типа B-Tree.

Место хранения

IDMS организует свои базы данных как ряд файлов. Эти файлы отображаются и предварительно форматируются в так называемые области. Области подразделяются на страницы, которые соответствуют физическим блокам на диске. Записи базы данных хранятся в этих блоках.

Администратор базы данных выделяет фиксированное количество страниц в файле для каждой области. Затем администратор базы данных определяет, какие записи должны храниться в каждой области, а также сведения о том, как они должны храниться.

IDMS размещает специальные страницы выделения пространства по всей базе данных. Эти страницы используются для отслеживания свободного места на каждой странице в базе данных. Чтобы уменьшить требования ввода-вывода, свободное пространство отслеживается только для всех страниц, когда свободное пространство для области падает ниже 30%.

Для хранения записей в базе данных IDMS доступны четыре метода: Direct, Sequential Function Chart, CALC и VIA. Версия Fujitsu / ICL IDMSX расширяет ее еще двумя способами: прямой и прямой.

В прямом режиме целевой ключ базы данных задается пользователем и хранится как можно ближе к этому ключу БД с фактическим ключом БД, на котором запись сохраняется, в прикладную программу.

Последовательное размещение (не путать с индексированным последовательным), просто помещает каждую новую запись в конец области. Этот вариант редко используется.

CALC использует алгоритм хеширования для определения места размещения записи; Хэш-ключ затем обеспечивает эффективное извлечение записи. Вся область CALC предварительно отформатирована с заголовком, состоящим из специальной записи владельца «CALC». Алгоритм хеширования определяет номер страницы (из которой может быть определен физический адрес диска), и запись затем сохраняется на этой странице или как можно ближе к ней и связана с записью заголовка на этой странице с помощью CALC задавать. Записи CALC привязаны к записи владельца CALC страницы, используя один список ссылок (указатели). Таким образом, владелец CALC, расположенный в заголовке страницы, владеет набором всех записей, которые нацелены на его конкретную страницу (независимо от того, хранятся ли записи на этой странице или, в случае переполнения, на другой странице).

CALC обеспечивает чрезвычайно эффективное хранение и извлечение данных: CA IDMS (Integrated Database Management System) может извлекать CALC-запись в 1.1 операций ввода-вывода. Тем не менее, этот метод не очень хорошо справляется с изменениями в значении первичного ключа, и требуется дорогостоящая реорганизация, если необходимо увеличить количество страниц. Обход - это расширение области, а затем запуск прикладной программы, которая сканирует область последовательно для каждой записи CALC, а затем использует глагол MODIFY для обновления каждой записи. Это приводит к тому, что каждая запись CALC подключается к CALC Set для правильной целевой страницы, рассчитанной для нового диапазона страниц Area. Недостатком этого метода является то, что исчезающее количество записей CALC теперь будет на целевых страницах, и для навигации по набору CALC каждой страницы, вероятно, будет задействовано много операций ввода-вывода. В результате рекомендуется использовать эту рабочую среду в экстремальных условиях, так как производительность будет страдать.

Помещение VIA пытается сохранить запись рядом с ее владельцем в определенном наборе. Обычно записи кластеризуются на той же самой физической странице, что и владелец. Это приводит к эффективной навигации при доступе к записи, следуя этой установленной взаимосвязи. (VIA позволяет записывать записи в другую область IDMS, чтобы их можно было хранить отдельно от владельца, но вместе с тем они сгруппированы для повышения эффективности. В IDMSX они также могут быть смещены от владельца на определенное количество страниц).

Прямая прямая (только IDMSX) похожа на режим Direct, однако задан целевой номер страницы базы данных, и запись подключается к цепочке CALC для этой страницы.

Random (только IDMSX) выделяет номер целевой страницы для записи, когда она хранится с использованием CALC algorirthm (это либо использует ключ в записи, либо случай случайного случайного ввода, использует дату и время хранения как Семя для алгоритма CALC).

Наборы обычно поддерживаются как связанные списки, используя ключ базы данных в качестве указателя. Каждая запись включает прямую ссылку на следующую запись; Разработчик базы данных может выбрать, включать ли указатели владельца и предыдущие указатели (если это не предусмотрено, навигация в этих направлениях будет медленнее).

Некоторые версии IDMS впоследствии включали возможность определять индексы: либо записывать индексы, позволяя записывать записи из знания вторичного ключа, либо устанавливать индексы, позволяя членам набора извлекаться по значению ключа.

Записи IDMSX Page Direct и Random place обычно используются в сочетании с Record Indexes, как описано выше. Сами индексы подчиняются правилам размещения, либо Direct (что на самом деле означает «CALC с использованием идентификатора индекса в качестве ключа»), либо CALC.

Группы пользователей

IDMS имеет множество некоммерческих ассоциаций пользователей по всему миру, состоящую из специалистов в области информационных технологий, которые используют и / или поддерживают CA IDMS или связанные продукты. Они включают:

  • CA IDMS (IUA EIUA) Глобальное сообщество пользователей
  • AID - Anwendervereinigung IDMS Германия
  • Австралийская группа пользователей IDMS
  • Ассоциация пользователей BeNeLux IDMS
  • Чикагская группа пользователей IDMS
  • Комитет Квебека Пользователей IDMS
  • Форум пользователей Dallas CA-IDMS
  • Европейская группа пользователей IDMS
  • Финская группа пользователей IDMS
  • AUI - Ассоциация des Utilisateurs d'IDMS - Франция
  • Группа пользователей Rocky Mountain IDMS
  • Ассоциация пользователей IDMS Великобритании

Источники

  1. CA IDMS - CA Technologies // CA Technologies. [2018—2018]. URL: https://www.ca.com/us/products/ca-idms.html (дата обращения: 12.12.2018)
  2. Engineering and Technical Wiki// Oral-History:Charles Bachman. [2017—2017]. Дата обновления: 05.03.2017 URL: https://ethw.org/Oral-History:Charles_Bachman (дата обращения: 05.03.2017)
  3. IBM System/360// Википедия. [2018—2018]. Дата обновления: 05.11.2018. URL: https://ru.wikipedia.org/wiki/IBM_System/360 (дата обращения: 09.01.2019)