Database Programming & Design

       

Informix


Компания Informix Software оказалась на переднем фронте объектно-реляционных систем после приобретения компании Illustra в начале 1996 г. Решение компании произвести слияние продуктов Informix-OnLine 7.2 и Illustra Server к концу того же года оценивалось в индустрии довольно скептически. Однако компания смогла выполнить свое обещание, выпустив в конце декабря устойчивую версию Informix-Universal Server (IUS) для трех платформ. В настоящее время IUS доступен на 10 платформах.

Компания сконцентрировалась прежде всего на компоненте универсального сервера общей архитектуры. Пока не слишком большое внимание обращается на другие звенья архитектуры, кроме области Internet/Web (с применением продукта WebConnect). В большей степени затрагиваются вопросы поддержки сложных данных в средствах разработки и приложениях с использованием недавно объявленного продукта Data Director (приобретенного вместе с компанией CenterView Software в начале этого года). Этот продукт обеспечивает возможность использования передовых сред разработки (Java, PowerBuilder, VisualBasic и др.), доступ к расширениям в духе SQL-3 и, кроме того, доступ к новым типам данных и функций IUS.

В своем первом выпуске IUS объединяет OnLine 7.2 с DataBlade API сервера Illustra и языковыми расширениями, основанными на идеях SQL-3, для поддержки широкого набора объектных средств. Расширения включают следующее:

  • Расширяемая система типов для интеграции определяемых пользователями типов данных (UDT - User Defined Types) - уточненных типов, абстрактных типов данных (ADT - Abstract Data Types), строчных типов и типов коллекций, включая возможность неограниченной вложенности таблиц. IUS поддерживает простое наследование в иерархии именованных строчных типов. Каждая таблица, основанная на строчном типе, становится типизированной таблицей и может использоваться в этой иерархии. В будущем ожидается появление ссылочных типов и ADT в духе SQL-3, а также средств репликации данных определяемых пользователями типов.

  • Определяемые пользователями функции (UDF - User Defined Functions) - полный диапазон типов UDF с поддержкой перегрузки, распознавания нужного тела функции на основе типов параметров и параллельного выполнения функций, когда это оправданно. (Параллельные возможности IUS применимы на платформах SMP; при использовании Informix-OnLine XPS эти возможности распространяются на кластерные архитектуры; на платформах MPP объектные расширения пока недоступны.)


  • Расширяемая система индексирования - R-деревья, применение B-деревьев к UDT, определяемые пользователями индексные структуры.

  • Расширяемый оптимизатор - таблично-управляемый оптимизатор, позволяющий интегрировать UDT, новые индексные структуры и новые методы доступа. Разработчик может указать стоимость выполнения функций UDT и зарегистрировать новый тип индекса, что включает определение функций, которые используют индекс, интерфейсных подпрограмм для доступа к индексу и стоимости использования индекса. Индексы хранятся под управлением СУБД с соответствующим транзакционным контролем; сторонние поставщики должны сами следить за целостностью внешних индексов. Кроме того, оптимизатор применяет параллельные операции к разделенным определенным пользователями данным и индексам.

  • Большие объекты (LOB - Large Objects) и внешние данные - LOB'ы могут храниться внутри базы данных (в BLOB'ах) или во внешних файлах. IUS не гарантирует целостность данных, хранимых во внешних файлах, но имеет на этот счет планы. Интерфейс виртуальной таблицы позволяет регистрировать внешние данные в каталогах базы данных и обращаться к ним таким же образом как если бы они были таблицами IUS.

  • Предопределенные расширения - Informix подрядил много сторонних поставщиков для написания DataBlades - упакованных наборов расширений, представляющих некоторую прикладную область (текстовый поиск, управление графической информацией, финансовый анализ и т.д.). DataBlade интегрируется с ядром IUS на основе специального интерфейса уровня вызовов (DataBlade API). К июню 1997 г. планировалось иметь в поставке 20 DataBlade, еще 10

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

  • Расширения языков приложений - в дополнение к поддержке разработки UDT на основе собственной среды NewEra Informix теперь обеспечивает новое средство разработки клиентских приложений Data Director, которое дает возможность связи между данными, контролируемыми приложением, и данными, хранимыми в среде IUS.


    В этом средстве используются собственные интерфейсы с IUS (Java API и Си++ API), а не ODBC 4. Кроме того, Data Director поддерживает

    4языковые расширения в духе SQL-3.

    4В своем стремлении первой обеспечить доступность 4объектно-реляционных средств компания Informix 0не лучшим образом балансирует между новой технологий и сохранением той позиции на бизнес-рынке, которую удалось занять на основе Informix-OnLine 7.x. До слияния с Illustra основное внимание уделялось производительности и масштабируемости на основе разных видов параллелизма. С появлением IUS эти важные качества продуктов отошли на второй план. Кроме того, компания должна принимать во внимание наличие трех разных серверов баз данных - IUS, OnLine и XPS.

    Однако компании удалось продемонстрировать возможность эволюционного перехода к объектно-реляционной технологии с сохранением надежного и высокоэффективного управления базами данных. IUS является развитием OnLine, и именно так следует представлять его на рынке. Можно ожидать, что IUS будет использоваться не только как универсальный сервер, а превратится в полную расширяемую платформу управления данными.


    Содержание раздела