Adabas D

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 18:03, 30 января 2019.
Adabas D
Adabas.png
Разработчики: Software AG
Предыдущий выпуск: 15.01
Операционная система: Microsoft Windows, Microsoft Windows 2000, Linux, Solaris
Платформа: x86-64
Локализация: Английский
Тип ПО: База данных
Веб-сайт adabasd.com

Adabas D - это система управления реляционными базами данных, принадлежащая Software AG с 1994 года, когда Software AG приобрела SQL-Datenbanksysteme GmbH от Siemens Nixdorf AG.[Источник 1]

MaxDB основан на версии Adabas D 6.1.15.57, лицензированного от Software AG в 1997 году, и первоначально проданы как SAP DB. MaxDB предоставляется для использования с SAP в качестве альтернативы другим более дорогостоящим системам RDBMS.

StarDivision (а позднее Sun Microsystems) использовала Adabas D для своего продукта StarOffice , а личная версия Adabas D была включена в SUSE Linux Enterprise . Адаптер Adabas D предоставляется в OpenOffice.org.

Общие сведения о современном состоянии

ADABAS давно известен в России как высоконадежная и производительная СУБД для создания и эксплуатации больших баз данных на мейнфреймах. Однако, к сегодняшнему дню ADABAS сильно изменился и представляет собой систему управления сверхбольшими базами данных, которая, в совокупности с рядом дополнительных продуктов, существенно расширяющих его возможности, позволяет строить не только традиционные системы обработки структурированных данных, но и текстовые информационно-поисковые системы, географические и экспертные системы, системы обработки изображений и т.д (см. рисунок 1).
Рисунок 1 - Традиционная модель данных ADABAS

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

  • Не первая нормальная форма (NF2 - Non-First Normal Form)

Эта модель данных традиционна для ADABAS с 1969 года, когда он впервые вышел на рынок систем обработки данных, по ней большинство пользователей и знает эту СУБД. Его сегодняшнее название ADABAS C.

  • Традиционная реляционная модель данных

Эта модель соответствует ANSI/ISO стандарту SQL и реализована в виде либо надстройки над ADABAS-C, либо как неотъемлемая часть ADABAS D.

  • Модель данных сущность-связь (E/R модель)

В ADABAS предусмотрено расширение до модели Entity-Relationship (или E/R модели) для управления сложными структурами данных с высокой степенью связности. Оно поддерживает также рекурсивные структуры данных. Объединяя эту модель с другими моделями ADABAS можно строить мощные интегрированные базы данных и, соответственно, прикладные системы. Предпочтительные области для применения этих моделей - системы представления знаний, моделирование поведения сложных технических и биологических систем, расчеты потребностей, планирование материальных ресурсов различного вида и назначения (Bills of Materials).

  • Обработка и управление произвольными текстами

Этот тип данных (и соответствующие средства манипулирования ими) обеспечивает доступ к документам, обрабатываемым ADABAS, как к произвольным текстам. Возможно сочетать разного рода обработку текстовых данных со стандартными процедурами ADABAS для работы с форматированными данными. Например, библиотеки, юридические конторы, службы новостей, телекомпании, газеты и журналы, правительственные организации - все, кто имеет и будет иметь данные в виде т.н. "свободных" или неструктурированных текстов.

  • Обработка и управление географическими данными

В отличие от традиционных географических (картографических) систем, которые используют структуры хранения данных (реляционные и др.) независимо от собственно географической информации, обеспечивая их совместное использование, как правило, только на уровне SQL- интерфейса, подход SOFTWARE AG характеризуется глубокой интеграцией на всех уровнях хранения и обработки. Картографическая информация, координатные привязки объектов, форматированные данные и текстовая информация неограниченного объема хранятся в рамках единой БД. Точно также в рамках одной программы и даже одного оператора (среда NATURAL) интегрирована и обработка этой комплексной информации. Важно, что при этом обеспечивается не только высокая производительность геоинформсистем, но за счет поддержания логики транзакций гарантируется целостность и безопасность хранения базы данных и другие ее неотъемлемые характеристики.

ADABAS в корпоративных информационных системах

По классификации Gartner Group реализация концепции клиент/сервер (см. рисунок 2) в распределенной неоднородной вычислительной среде возможна в следующих конфигурациях:

  • Распределенное отображение данных;
  • Удаленное отображение данных (эмуляция терминала);
  • Распределенное приложение (серверы приложений);
  • Доступ к удаленной базе данных (серверы баз данных);
  • Доступ к распределенной базе данных (интеграция/репликация баз данных).
Рисунок 2 - Модели клиент-сервер

SOFTWARE AG использует этот подход для поддержки прикладных проектов, предлагая широкий набор собственных программных продуктов. С целью интеграции в приложения функциональности программных средств других фирм соблюдены многочисленные интерфейсы, получившие общее признание.

Конфигурации программно-технических средств

Программно-технические средства для реализации распределенных клиент-серверных приложений, поддерживаемых продуктами Software AG, могут включать в себя следующие компоненты:

  • главные ЭВМ (ГЭВМ) верхнего уровня системы (типа IBM mainframe, UNIX- суперсерверы);
  • серверные ЭВМ (CЭВМ) среднего и малого классов (UNIX-серверы, OS/2, Windows NT);
  • блоковые (типа IBM 3270) и символьные (типа VT 100 или ASCII) терминалы;
  • низкопроизводительные ПЭВМ (типа IBM PC/XT/286/386-MS DOS);
  • высокопроизводительные ПЭВМ (типа IBM PC/486/Pentium-MS Windows, OS/2);
  • опорную сеть и протоколы (FDDI/Ethernet и/или TCP/IP, SPX/IPX и др.);
  • программные продукты других фирм для доступа к базам данных, обработки и коммуникации, поддерживающие общепризнанные протоколы межпрограммного взаимодействия и связные протоколы (ORACLE, INFORMIX, SYBASE, NOVELL, IBM, MICROSOFT и др.).

Удаленное отображение данных (эмуляция терминала)

Средства эмуляции терминалов исторически являются одними из первых продуктов, реализующих возможность совместного функционирования ГЭВМ, СЭВМ и ПЭВМ. Они по-прежнему остаются одними из наиболее популярных продуктов, особенно для удаленного администрирования ресурсами ГЭВМ и СЭВМ. SOFTWARE AG предлагает использовать в качестве эмулятора терминалов продукт ENTIRE CONNECTION (см. рисунок 3).

Рисунок 3 - Взаимодействие компонент эмуляции терминалов с ENTIRE CONNECTION

Распределенное приложение (серверы приложений)

Характерной чертой таких приложений является логическое разделение приложения на две или более частей, каждая из которых может выполняться на разных компьютерах. Выделенные части приложения взаимодействуют друг с другом, обмениваясь сообщениями в заранее согласованном формате. Следует подчеркнуть, что в данном случае клиентом может быть не только Windows-приложение, но и приложение (или его часть), выполняемое на одной из платформ СЭВМ. Для создания среды выполнения распределенных приложений SOFTWARE AG предлагает использовать продукт ENTIRE BROKER, который может быть установлен на платформе любой СЭВМ (IBM, UNIX и т.д.) изолированно или на одной или нескольких СЭВМ совместно с серверами приложений (см. рисунок 4).

Рисунок 4 - Платформы клиентов

Данный продукт предлагает коммуникационный интерфейс, с помощью которого части (или разные) приложения могут обмениваться информацией. Функции интерфейса поддерживают синхронное и асинхронное взаимодействие приложений, при этом, первый тип наиболее подходит для реализации диалоговых систем, тогда как второй - для систем типа запрос/ответ или предполагающих обмен большими объемами данных. С точки зрения архитектуры продукт ENTIRE BROKER выполнен в виде ядра - коммуникационного сервера, регистрирующего доступные в сети серверы приложений (функциональные серверы) и клиентов, запрашивающих данные серверы. Взаимодействие клиентов ENTIRE BROKER с ядром базируется на еще одном продукте SOFTWARE AG - ENTIRE NET-WORK, с помощью которого взаимодействие частей приложения становится полностью независимым от используемого в системе транспортного протокола. В качестве языков, на которых может быть разработано приложение, использующее как возможности обращения к функциональным серверам (клиенты), так и собственно функциональные серверы, могут быть использованы наиболее распространенные языки, поддерживающие CALL-интерфейс.

Рекомендуемый SOFTWARE AG подход к построению распределенных приложений состоит в разработке их частей на NATURAL, в котором имеется полный набор компонентов, необходимых для построения распределенных приложений не зависящих от аппаратно-программных платформ. Сочетание ENTIRE BROKER, ENTIRE NET-WORK и NATURAL обеспечивает прозрачность для клиентов местонахождения сервера (необходимо знать только своего брокера), создавая администраторам прикладных систем условия для их правильного масштабирования.

Доступ к удаленной базе данных (серверы баз данных)

Доступ к удаленным базам данных (серверу базы данных) предполагает, что приложение, взаимодействующее с базой данных не должно меняться в зависимости от того, в каком узле сети находится сервер базы данных. При этом, существенную роль начинает играть язык, на котором приложение взаимодействует с СУБД. За последние годы развитие получил язык SQL, ставший фактически промышленным стандартом в мире открытых систем. Реализация принципа независимости приложений от источников (серверов) данных, нашло решение в виде уже упоминавшегося выше продукта ENTIRE NET-WORK, обеспечивающего универсальный транспорт запросов от приложения до серверов баз данных. Установка этого продукта на каждом из узлов сети как на платформах серверных ЭВМ, так и рабочих станций клиентов, обеспечивает доставку запросов и данных между серверами баз данных ADABAS и их клиентами. На следующих схемах изображены варианты доступа к базам данных ADABAS, расположенных на различных серверных платформах из приложений-клиентов на рабочих станциях. Изображенные конфигурации на рисунке 5 являются стандартными для доступа к серверам баз данных ADABAS со стороны клиентов на рабочих станциях под Windows.

Рисунок 5 - Схемы удаленного доступа к БД ADABAS посредством SQL

В случае, если прикладная система написана на NATURAL или языках 3-го поколения с использованием языка манипулирования данными (ЯМД) СУБД ADABAS, доступ к удаленной СУБД реализуется в соответствии с данной схемой представленной на рисунке 6.

Рисунок 6 - Схемы удаленного доступа к БД ADABAS посредством ЯМД ADABAS

Данный интерфейс предлагается фирмой SOFTWARE AG в качестве основного при разработке переносимых приложений в среде ADABAS/NATURAL. Как видно из рисунка клиентами СУБД ADABAS могут быть не только приложения, выполняемые в среде рабочих станций, но и приложения, написанные на NATURAL или языках программирования 3-го поколения и выполняемые как под Windows, так и в среде IBM и UNIX. Дополнительно к основному интерфейсу языка манипулирования данными для платформы Windows SOFTWARE AG предлагает доступ к базам данных ADABAS с помощью DDE- протокола, оформляя доступ к СУБД в виде DDE-сервера (ADADDE). Некоторые примеры программных продуктов, поддерживающих DDE-протокол изображены на схеме. Наряду с удаленным доступом к базам данных ADABAS, SOFTWARE AG предлагает использовать продукт ENTIRE ACCESS для доступа к реляционным базам данных третьих фирм из приложений, написанных на NATURAL (см. рисунок 7).

Рисунок 7 - Схемы удаленного доступа к реляционным СУБД с помощью ENTIRE ACCESS

ENTIRE ACCESS позволяет разработчику приложений полностью использовать преимущества NATURAL как универсального инструментария разработки переносимых приложений в средах неоднородных баз данных, обеспечивая доступ не только к удаленным, но и к локальным (работающим на той же ЭВМ, что и приложение) реляционным базам данных других фирм. Предоставляемый этим продуктом интерфейс позволяет разработчику приложений на NATURAL применять для доступа к реляционным СУБД, наряду с ANSI SQL, синтаксис ЯМД, реализованный в NATURAL для доступа к базам данных ADABAS. При этом из одной программы NATURAL возможно обращение к нескольким реляционным СУБД разных изготовителей и работающим на разных платформах. Внутренняя исполнительная система NATURAL преобразовывает предложения ЯМД и SQL в вызовы ENTIRE ACCESS, выполняющего необходимые преобразования форматов данных и обмен сообщениями с соответствующей СУБД. В качестве транспорта запроса к удаленной РСУБД применяется продукт ENTIRE NET- WORK.

Доступ к распределенной базе данных (интеграция/репликация данных)

Среда распределенных баз данных в рамках проектов корпоративных систем предполагает возможность синхронизации изменений, производимых в отдельных фрагментах таких баз данных, путем автоматического распространения транзакций изменений по узлам сети (репликация данных). SOFTWARE AG включила XA-интерфейс (спецификация X/Open XO/CAE/91/300) в продукт ADABAS версии 2.2 для ряда платформ UNIX и операционных систем IBM mainframe. Продукт ENTIRE TRANSACTION PROPAGATOR поддерживает репликацию данных, предоставляя возможность распространения транзакций изменений в среде баз данных ADABAS. В отличие от схем с двухфазовой фиксацией транзакции, требующей постоянной доступности всех вовлеченных в транзакцию ядер СУБД (узлов), репликаторы данных требуют доступности только одного ядра, называемого главным. Изменение файлов, на главном узле выполняется синхронно с обработкой (см. рисунок 8).

Рисунок 8 - Концепция репликации данных

Главный узел может находиться под управлением IBM или UNIX-ЭВМ. Узлы-реплики могут располагаться на любой платформе серверных ЭВМ, на которой может быть установлен ADABAS, и которая может быть доступна через ENTIRE NET-WORK. В состав продукта входит административная компонента, использующая специальные файлы главной СУБД, где создаются описания главных файлов и файлов-реплик, а также связанные с ними файлы журналов изменений и файлы подтверждения. Файл подтверждения необходим для регистрации ранее выполненных транзакций в файлах- репликах. Файл-реплика может быть полной или выборочной копией главного файла в зависимости от условий репликации, задаваемых администратором распределенной базы данных. Процесс репликации может быть инициирован вручную, с помощью специальной диалоговой утилиты, выполняться по таймеру в пакетном режиме, либо запускаться автоматически, при завершении транзакции в главном узле. Для обеспечения целостности данных используются стандартные механизмы обеспечения целостности транзакций ADABAS, что требует присутствия в одной базе данных главного файла и соответствующего ему файла журнала изменений. Аналогичные условия налагаются и на файлы- реплик и связанные с ними файлы подтверждения.

Подключение к Adabas D

В работе был задействован офисный пакет StarOffice, так как он не требует дополнительного скачивания Adabas D в отличие от OpenOffice.

Шаг 1 Подключиться к существующей базе данных Adabas D (см. рисунок 9).

Рисунок 9 - Подключение к Adabas D

Шаг 2 Создать базу данных. Нажать "Create" (см. рисунок 10).

Рисунок 10 - Выбор имени Adabas D

Шаг 3 Выбрать логин и пароль администратора и второго пользователя (см. рисунок 11).

Рисунок 11 - Выбор логина и пароля администратора и второго пользователя

Шаг 4 Нажать "Ok" (см. рисунок 12).

Рисунок 12 - Создание базы данных

Шаг 5 Нажать "Next" (см. рисунок 13).

Рисунок 13 - Тест соединения с Adabas D

Шаг 6 Провести тест соединения (см. рисунок 14).

Рисунок 14 - Введение пароля администратора для установления соединения

Шаг 7 Убедиться в успешности соединения (см. рисунок 15).

Рисунок 15 - Успешное прохождение теста соединения с Adabas D

Шаг 8 Выбрать необходимые пункты (см. рисунок 16).

Рисунок 16 - Выбор команд, которые будут выполнены после сохранения

Шаг 9 Нажать "Finish" (см. рисунок 17).

Рисунок 17 - Завершение создания базы данных

В состав пакета StarOffice входит мощная система управления базами данных (СУБД) — Adabas. В ней можно создать или использовать базу данных форматов ODBC, JDBC, cIBASEи DB2, а также собственного формата Adabas. Разумеется, программа позволяет составлять запросы на языке SQL, и также имеет свой внутренний язык управления. В состав пакета OpenOffice.org это приложение не входит.

Пример базы данных Adabas D

В следующих примерах используется база данных Adabas D. Необходимо создать базу данных Adabas D и определить новую таблицу с именем SALESMAN (см. рисунок 18).

Рисунок 18 - SalesmanDefinition[Источник 2]

На приведенном выше рисунке показано определение таблицы SALESMAN в администраторе источника данных OpenOffice.org API. В столбце описания указаны длины, определенные для текстовых полей таблицы. После того, как все поля определены, следует щелкнуть правой кнопкой мыши заголовок строки SNR столбца и выбрать Primary Key, чтобы сделать SNR первичным ключом. Впоследствии значок маленького ключа в заголовке строки показывает, что SNR является первичным ключом таблицы SALESMAN. По завершении требуется сохранить таблицу как SALESMAN. Важно использовать заглавные буквы для имени таблицы, иначе пример кода SQL не будет работать.

Таблица не содержит данных. Необходимо использовать следующую команду INSERT для вставки данных в таблицу по одной строке за раз:

INSERT INTO SALESMAN (
   SNR,
   FIRSTNAME,
   LASTNAME,
   STREET,
   STATE,
   ZIP,
   BIRTHDATE
   )
 VALUES (
   1, 
   'Joseph', 
   'Smith',
   'Bond Street',
   'CA',
   '95460',
   '1946-07-02'
   )

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

Следующий пример кода вставляет одну строку данных со значением 1 в столбец SNR, 'Joseph' в FIRSTNAME, 'Smith' в LASTNAME, с другой информацией в следующих столбцах таблицы SALESMAN. Чтобы выполнить команду для базы данных, необходимо создать объект Statement и затем выполнить его с помощью метода executeUpdate ():

 XStatement xStatement = xConnection.createStatement();

 xStatement.executeUpdate("INSERT INTO SALESMAN (" + 
     "SNR, FIRSTNAME, LASTNAME, STREET, STATE, ZIP, BIRTHDATE) " + 
     "VALUES (1, 'Joseph', 'Smith','Bond Street','CA','95460','1946-07-02')");

Следующий вызов executeUpdate () вставляет больше строк в таблицу SALESMAN. Следует обратить внимание на то, что объект Statement stmt повторно используется, а не создает новый для каждого обновления.

 xStatement.executeUpdate("INSERT INTO SALESMAN (" + 
     "SNR, FIRSTNAME, LASTNAME, STREET, STATE, ZIP, BIRTHDATE) " + 
     "VALUES (2, 'Frank', 'Jones', 'Lake Silver', 'CA', '95460', '1963-12-24')");

 xStatement.executeUpdate("INSERT INTO SALESMAN (" + 
     "SNR, FIRSTNAME, LASTNAME, STREET, STATE, ZIP, BIRTHDATE) " + 
     "VALUES (3, 'Jane', 'Esperanza', '23 Hollywood drive', 'CA', '95460', '1972-01-04')");

 xStatement.executeUpdate("INSERT INTO SALESMAN (" + 
     "SNR, FIRSTNAME, LASTNAME, STREET, STATE, ZIP, BIRTHDATE) " + 
     "VALUES (4, 'George', 'Flint', '12 Washington street', 'CA', '95460', '1953-02-13')");

 xStatement.executeUpdate("INSERT INTO SALESMAN (" + 
     "SNR, FIRSTNAME, LASTNAME, STREET, STATE, ZIP, BIRTHDATE) " + 
     "VALUES (5, 'Bob', 'Meyers', '2 Moon way', 'CA', '95460', '1949-09-07')");

Обновление таблиц - это в основном тот же процесс. Команда SQL:

UPDATE SALESMAN
 SET STREET='Grant Street', STATE='FL'
 WHERE SNR=2

Записывает новую улицу и штат Фрэнка Джонса, со значением SNR = 2. Соответствующий вызов executeUpdate () выглядит следующим образом:

int n = xStatement.executeUpdate("UPDATE SALESMAN " + 
     "SET STREET='Grant Street', STATE='FL' " + 
     "WHERE SNR=2");

Возвращаемое значение executeUpdate () - это int, указывающее, сколько строк таблицы было обновлено. Наша команда update затронула одну строку, поэтому n равно 1.

Следует обратить внимание, что это зависит от базы данных и драйвера, если возвращаемое значение executeUpdate () отражает фактические изменения.

Заключение

Adabas недоступен с OpenOffice.org.

Это немного ограниченная версия.

Adabas D предназначена для более серьезной работы с базами данных, чем то, что обеспечивается типом dBase. Она позволяет установить отношения между таблицами, а также указать размер буфера данных и прирост данных, просмотреть статистику базы данных, такую как размер базы данных и использование памяти, подключиться к файлам резервных копий и отключить соединение с базой данных автоматически при закрытии StarOffice. Adabas также поддерживает защиту паролем.

Чтобы использовать Adabas в автономной системе, необходимо установить сервер Adabas отдельно. Программа установки Adabas запускается автоматически, после завершения установки StarOffice. По умолчанию данные sorces хранятся в папке adabas / sql из корневого каталога системы.

Источники

  1. HOW WE BECAME A LEADER IN DIGITAL TRANSFORMATION // Software AG. [2017-2018]. Дата обновления: 10.08.2018. URL: https://www.softwareag.com/corporate/company/mivi/history/default.html (дата обращения: 18.09.2018)
  2. Inserting and Updating Data // Википедия. [2016-2018]. Дата обновления: 03.06.2018. URL: https://wiki.openoffice.org/wiki/Documentation/DevGuide/Database/Inserting_and_Updating_Data (дата обращения: 18.09.2018)

Ссылки