Oracle8 на тестах оправдала ожидания лаборатории PC Week Labs

 

СУБД Oracle8 не вполне соответствует тому, что Oracle на протяжении четырех лет говорила о ней, обращая пользователей в свою веру, но корпорация выполнила некоторые из своих главных обещаний, и новая версия будет продуктом-победителем для основных приложений баз данных.

 

В лаборатории PC Week Labs было проведено интенсивное тестирование Oracle8 Universal Data Server, выпуск которой состоялся 24 июня. Мы нашли, что произошли существенные улучшения в управлении большими таблицами, управлении клиентами, выполнении звездных запросов и репликации, но в то же время требуются доработки таких функций Oracle8, как параллельные добавления и вставки, улучшения в которых заметны только при специальных условиях.

 

Новое свойство  -  параллелизм при выполнении одиночного запроса  -  применяется в продукте повсеместно, что давало в наших тестах ускорение от 20 до 30%.

 

В отличие от DB2 и Informix Universal Server в Oracle8 практически отсутствует возможность использовать хорошо разработанные методы расширения функций (хотя обращения к СУБД из языка Си теперь реализованы, но в ограниченном объеме). В результате пользователям будет нелегко добавлять к СУБД новые возможности.

Новый компонент Net8 облегчает и ускоряет конфигурирование клиентов

Заметно отсутствие поддержки Java: в Oracle8 нет ни только драйверов ODBC, но и хранимых на сервере процедур Java. В DB2 такие возможности должны быть реализованы к концу года.

 

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

 

Хотя у него нет очарования, живости и элегантности, присущих его более молодым соперникам, аристократка Oracle8 демонстрирует стабильность и предсказуемость в таких областях, какие нам хочется видеть в СУБД, на которую в бизнесе можно сделать ставку.

 

Oracle не представила информации о ценах, но было сообщено, что ценовая политика не изменится. Первоначально Oracle8 будет выпущена для Solaris и Windows NT. Версии для других Unix-платформ начнут поставляться в конце июля  -  начале августа.

 

Мы не успели выполнить формальные тесты к моменту выхода этой статьи.

 

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

 

Новый встроенный инструментарий делал выполнение модернизаций почти автоматическим, ПО продемонстрировало великолепную совместимость с предыдущими версиями. Было выбрано наугад пять основных программ генерации отчетов и инструментов запросов, а также драйверы ODBC двух поставщиков, и все они работали без каких-либо замечаний.

 

По иронии судьбы наибольшие проблемы встретились при модернизации Oracle Forms, собственного приложения Oracle (как, впрочем, и всех других созданных с использованием инструмента разработки приложений Designer/2000). Во все такие приложения было необходимо с помощью прилагаемой программы вносить исправления, с тем чтобы они могли работать с Oracle8.

 

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

 

Новые возможности из соединений позволяют подключать дополнительных клиентов к серверу без резервирования 1 Мб оперативной памяти, что обычно для этого требуется. Предыдущая версия СУБД Oracle7 настоятельно требовала улучшения в этой области.

 

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

 

Мы разделяли таблицы по дням недели и продолжали работать, как будто этого разделения нет, регулярно делая вставки в те из них, которые попадали в нужные разделы по заданным нами правилам разбиения на разделы.

 

Однако с дополнениями дело обстояло не так гладко: их внесение разрешалось, только если строка помещалась целиком в одном разделе,  -  важное обстоятельство, которое надо иметь в виду при разработке базы. Мы решили проблему дополнения строки путем ее вычеркивания, а затем вставки.

 

В сетевом программном обеспечении Oracle  -  SQLNet (теперь называющемся Net8)  -  улучшена управляемость и повышена производительность. Мы задействовали на сервере функцию создания пулов подключений, настроив ее таким образом, чтобы обеспечивалось прозрачное отключение зарегистрированных пользователей по истечении заданного интервала времени (по умолчанию  -  1 мин), а затем подключали второй банк клиентов к освободившимся слотам пула.

 

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

 

Еще одним улучшением в Net8 является мультиплексирование соединений, для которого требуется новый компонент Connection Manager, объединяющий новые запросы на подсоединения от клиентов и образующий из них одно подключение к серверу. Connection Manager дал нам возможность разгрузить большой объем памяти Oracle, передать его на машину без СУБД и минимизировать трафик к серверу базы данных.

 

Наиболее важной объектной технологией в Oracle8 является поддержка ссылок на объекты (ref), представляющие быстрые табличные указатели, заменившие медленные реляционные объединения.

 

Ни DB2, ни Informix Universal Server не поддерживают эту технику, хотя у обеих имеется наследование в стиле SQL-3, важный объектный механизм, которого нет у Oracle8. При необходимости использования ссылки (ref) или наследования нам приходилось выбирать ссылку, так как их применение дает возможность получить существенный выигрыш в производительности.

 

Однако работа со ссылками замедляет вставки, так как ссылки надо создать и они увеличивают объемы таблиц. Но в целом перенос цены выполнения с объединений (которые выполняются часто) на вставки (которые выполняются редко)  -  правильная идея.

 

Кроме того, мы могли работать с объектными таблицами, используя нормальные запросы на языке SQL, и создавать специальные объектные представления реляционных таблиц, что позволило нам использовать таблично-объектный синтаксис при работе с базирующимися на отношениях таблицами. В общем, объектная и реляционная межоперабельность превосходна и обеспечивает функциональность, которой нет ни у DB2, ни у Informix Universal Server.

 

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

 

Так же как и у конкурентов, в Oracle8 поддержка объектов фрагментарна во всех инструментах управления и совершенно отсутствует у средств разработки приложений.

 

Когда мы попытались воспользоваться управляющей консолью Enterprise Manager для манипулирования объектными таблицами и представлениями, объектов либо вовсе не было видно, либо создавались такие SQL-выражения, которые не выполнялись на сервере. Это делает управляющие программы бесполезными для разработки объектной базы данных. Кроме того, мы были разочарованы открытием, что объектные таблицы нельзя реплицировать, хотя можно пользоваться PL/SQL  -  языком программирования Oracle. В эту версию СУБД добавлена поддержка очередей, но в результате тестирования выяснилось, что она настолько ограниченна, что ее можно рекомендовать использовать только в очень контролируемых обстоятельствах.              

 

Тимоти Дик (PC Week Labs)

 

Резюме для руководителей

 

Хотя Oracle8 и не лидирует во всех областях, благодаря сделанным существенным улучшениям она будет продолжать доминировать на рынке баз данных. Благодаря значительным технологическим преимуществам и огромному рынку инструментов сторонних фирм, Oracle8 будет победительницей.Методика тестирования: www.pcweek.com/reviews/meth.html.

 

Oracle8 Universal Data Server.Корпорация Oracle, Редвуд-Шорз,  шт. Калифорния; телефон в Москве: (095)258-4180; www.oracle.com

 

+Разделение таблиц обеспечивает лучшую управляемость; создание пулов из подключений и мультиплексирование дают возможность большему числу клиентов работать на том же оборудовании; ссылки на объекты и представления, индексные таблицы и звездные запросы увеличивают производительность.

 

--Большинство из новых параллельных возможностей требуют разбиения таблиц; графический инструментарий и репликация не поддерживают объектов; слабая организация очередей; механизмы расширения уступают таковым у конкурентов; отсутствует JDBC и не реализованы хранимые Java-процедуры.