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-процедуры.