PC Week/RE продолжает серию публикаций о наиболее популярных в России СУБД. На этот раз об особенностях работы СУБД Adabas нашему обозревателю Сергею Бобровскому рассказал технический директор российского представительства Software AG Владимир Силин.
PC Week: Какие версии Adabas сегодня продаются и чем отличаются они друг от друга?
Владимир Силин: Software AG поставляет на рынок две СУБД.
Одна из них - Adabas, постреляционная СУБД, поддерживающая различные модели данных, включая вложенные отношения и иерархические поля. Она является одной из наиболее распространенных СУБД на мэйнфреймах (для операционных систем MVS/ESA, OS/390, VSE, VM и BS2000) и написана на Ассемблере 390. На нашем рынке также популярна версия Adabas для платформ открытых систем (к которым принято относить различные семейства Unix и Windows), исходные тексты которой написаны на Си.
Вторая - Adabas D, сервер реляционной СУБД для рабочих групп на платформах Windows 9x/NT и Unix, включая Linux.
Упомянутые СУБД совершенно разные, и с технической точки зрения их не имеет смысла сравнивать.
В настоящее время Software AG поставляет Adabas для мэйнфреймов версии 6.2, а для Windows и Unix - версии 3.1. Причем новые версии и редакции Adabas для открытых систем выходят синхронно для всех поддерживаемых платформ.
Владимир Силин
В апреле этого года Software AG начала поставки Adabas D версии 11, в которой доработаны средства графического построения запросов и интерфейсы ODBC 3.0, JDBC 1.2 (Type 4, pure Java), Perl 5.4. В ней также появились новые средства удаленного администрирования базы данных.
PC Week: Когда выйдет седьмая версия Adabas и что в ней будет нового?
В. С.: 1 апреля Software AG объявила о начале бета-тестирования Adabas 7.1 на платформе OS/390, а с 1 июня 1999 г. началось ее тестирование на платформах VSE, BS2000 и VM/CMS. Выпуск Adabas 7.1 ожидается в конце 1999 г.
Software AG продолжает развитие ядра СУБД преимущественно по следующим направлениям:
- повышение производительности в среде IBM Sysplex;
- поддержка SMP-конфигураций в среде Sysplex с несколькими ядрами СУБД, обновляющими одну физическую БД;
- развитие и поддержка прямого интерфейса с Java, OLE и другими объектными интерфейсами;
- работа с двоичными объектами большого размера (BLOB);
- удаленное администрирование, в том числе через Web;
- развитие средств повышения живучести СУБД;
- автоматизация настройки параметров Adabas в процессе ее работы;
- автоматизация управления внешней памятью СУБД.
PC Week: Как поддерживается в Adabas стандарт SQL 92, какого уровня?
В. С.: Поддержка SQL-интерфейсов для доступа к СУБД Adabas реализуется с помощью дополнительного продукта Software AG - Adabas SQL Server. Мы рекомендуем использовать данный продукт в приложениях, ориентированных на выборку данных и не имеющих жестких требований ко времени выполнения запросов (т. е. не в OLTP-режиме). Adabas SQL Server соответствует стандарту SQL-92 в части языка управления данными (DCL) и структуры SQL-каталога, в то время как язык манипулирования данными DML соответствует стандартам ANSI/ISO X3.135 1989/X3.168-1989 и ISO/IEC 9075. Adabas SQL Server обеспечивает доступ к вложенным таблицам, являющимся неотъемлемой частью модели данных Adabas (т. е. периодическим группам и множественным полям), реализуя интерфейсы как по стандарту ODBC, так и посредством препроцессоров для Си, Кобола, ПЛ/1, поддерживающих статический и динамический SQL. При этом приложение клиента, SQL-сервер и собственно базы данных Adabas могут находиться на нескольких компьютерах с разной архитектурой, взаимодействуя между собой с помощью продукта Software AG Entire Net-work.
Если приложение клиента выполняется в Windows, роль интерфейса к Adabas SQL Server выполняет продукт ADABAS ODBC Client, поддерживающий спецификации ODBC на уровне Full Core Level, Full Level 1, Subset of Level 2.
В настоящее время компания Software AG внимательно анализирует перспективы следующей версии языка SQL, известной как SQL 3.
По мнению Software AG, существующие спецификации SQL содержат много доработок, которые, сказавшись на производительности выполнения диалоговых транзакций, могут спровоцировать изготовителей СУБД на собственные расширения стандарта. В результате возникает вопрос: а, собственно, о каком стандарте идет речь?
PC Week: Имеется ли в Adabas поддержка Java?
В. С.: В настоящее время Software AG готовит к выпуску два Java-интерфейса к Adabas: это SQL (а значит - JDBC) и оригинальный интерфейс на базе языка высокого уровня. На мой взгляд, второй вариант способен обеспечить большее быстродействие за счет исключения промежуточных продуктов, выполняющих роль SQL-посредников. В этом случае разработчику Java-приложений будет поставляться инструментарий, который позволит создавать библиотеку классов Java (по одной на каждый файл/подсхему Adabas), где поля файла будут представлены в виде атрибутов класса, а команды манипулирования данными - в виде методов класса. Взаимодействие Java-клиента с Adabas может выполняться по протоколу TCP/IP или с помощью продукта Enitre Net-work.
В то же время для написания хранимых процедур Software AG использует свой язык четвертого поколения Natural, с помощью которого, в частности, на платформе OS/390 реализуются хранимые процедуры не только для Adabas, но и для DB2.
PC Week: Поддерживается ли в Adabas шифрование данных?
В. С.: Adabas позволяет выполнять шифрацию информации, хранящейся в БД. Вместе с тем, в Adabas имеются точки входа для подключения программ пользователя, которые будут выполнять функции шифрации/дешифрации данных, пересылаемых при работе с сервером СУБД по сети на передающем и принимающем узлах. Естественно, что сложность алгоритмов шифрации при таком подходе полностью зависит от мастерства заказчика.
PC Week: А что вы можете сказать по поводу обеспечения безопасности информации при работе с Adabas?
В. С.: В Adabas предусмотрены как внутренние механизмы разграничения доступа к записям БД при выполнении команд чтения/обновления данных вплоть до разграничения по значению конкретного поля, так и внешние, позволяющие осуществлять авторизацию и идентификацию пользователя с помощью таких средств, как RACF, ACF2, Top Secret и др.
PC Week: Для каких целей в России преимущественно используется Adabas?
В. С.: Это в основном три большие области.
Первая - учетно-регистрационные системы, широко применяемые на крупных и средних промышленных предприятиях и в органах административного управления (кадровые, бухгалтерские, системы подготовки и планирования производства и т. п.).
Вторая - полнотекстовые информационно-поисковые системы.
Третья - системы документооборота.
PC Week: Каковы, на ваш взгляд, характерные отличия Adabas от СУБД конкурентов?
В. С.: Главное - это поддержка нескольких моделей данных (почти все производители СУБД поддерживают только реляционную модель). Adabas способен работать с реляционной моделью (с помощью Adabas SQL Server), с данными, представленными не в первой нормальной форме (колонка может быть таблицей), а также с сетевой и иерархической моделями.
Отмечу еще возможность сжатия данных на уровне значения поля и значения ключей, что уменьшает объемы БД и число операций ввода-вывода, а также поставляемый вместе с ядром СУБД полный комплект программ обслуживания.
PC Week: Имеется ли в Adabas оптимизатор и какой он дает эффект?
В. С.: Очевидно, речь идет о SQL-оптимизаторах. Данный вопрос актуален для РСУБД, однако применительно к Adabas я хотел бы рассмотреть два аспекта повышения эффективности работы, практически не имеющие отношения ни к структуре уже эксплуатируемой СУБД, ни к приложению. Оба они связаны с использованием буферов оперативной памяти, доступных с появлением систем архитектуры IBM ESA.
Во-первых, в Adabas предусмотрена традиционная буферизация операций ввода-вывода, выполняемых в адресном пространстве СУБД. Казалось бы - ничего нового, так поступают все. Однако СУБД Adabas позволяет размещать буферы ввода-вывода не только в своем адресном пространстве, но и использовать такие классы памяти, как dataspace и hiperspace, доступные в архитектуре S/390.
Во-вторых, СУБД Adabas использует возможности ОS/390 для размещения общего буферного пула данных, доступного в контексте адресного пространства программы пользователя. Таким образом, результат выполнения команды СУБД может быть возвращен приложению без переключения контекста задачи операционной системы, а следовательно, без обращения к СУБД и выполнения операций ввода-вывода, что существенно сокращает время реакции системы.
Практический опыт применения данных особенностей, реализуемых с помощью дополнительных компонентов СУБД Adabas ESA Option и Adabas Fastpath, показывает суммарное увеличение производительности прикладных систем от 35 до 85%.
PC Week: Насколько сравнима эффективность оптимизатора Adabas и эффективность профессионального ручного проектирования структуры БД?
В. С.: Данные механизмы никак не влияют на эффективность хорошего ручного проектирования структуры СУБД, более того, они не требуют внесения каких-либо изменений в уже работающее приложение.
PC Week: То есть автоматическая SQL-оптимизация не нужна?
В. С.: Конечно нужна, если мы рассматриваем РСУБД, но я лишь хотел подчеркнуть, что Adabas сам по себе имеет достаточно интересные возможности, доступные всем пользователям, в том числе и Adabas SQL Server.
PC Week: Что бы вы лично улучшили в Adabas с учетом пожеланий российских пользователей?
В. С.: Ранее основной технической проблемой было отсутствие функции создания инвертированных списков ключей записей для алфавитно-цифровых полей, упорядоченных по русскому алфавиту или в соответствии с кодовой таблицей пользователя. Все предыдущие версии Adabas хранили значения ключей записи в кодировке ДКОИ-8 или CP1025, где символам кириллицы были назначены шестнадцатеричные позиции, не соответствующие порядку букв в русском алфавите.Таким образом, выполнение запросов на выборку данных по диапазону значений ключа приводило к неправильному, с точки зрения конечного пользователя, результату. У наших заказчиков была возможность детального обсуждения данной проблемы с разработчиками Adabas, и мы надеемся, что она будет решена в Adabas 7.1.
PC Week: Кто ваши основные конкуренты на рынке СУБД и почему?
В. С.: Это IBM DB2 и Oracle. Причины конкуренции в значительной степени носят нетехнический характер.
PC Week: Могут ли появиться на рынке СУБД (и захватить заметную его часть) новые, неизвестные фирмы?
В. С.: В принципе - да, особенно в секторе электронного бизнеса, который требует развития нового поколения СУБД, основанного, в частности, на поддержке XML. Другой вопрос - сможет ли новая фирма выжить и сохранить себя в условиях насыщенного рынка СУБД, например как Software AG, отмечающая в этом году свое 30-летие.
PC Week: Каковы, на ваш взгляд, стратегические направления развития СУБД?
В. С.: Я полагаю, что исчерпывающий ответ на данный вопрос может быть найден в различных исследованиях рынка информационных технологий, регулярно публикуемых специализированными компаниями. Пользуясь случаем, хотел бы упомянуть, что Software AG недавно объявила о предстоящем выпуске принципиально новой технологии СУБД - Tamino (Transaction Architecture for Management of Internet Objects), которая наверняка будет пользоваться популярностью не только среди любителей Интернета.
Российское представительство Software AG: (095) 158-9930.