Обзор
Версия 2.0 расширена и тесно связана с Web, но наследство Ingres не исчезло полностью
Со времени покупки фирмой Computer Associates International в середине 1994 г. компании Ingres выпуск новой версии OpenIngres 2.0, в которой улучшена управляемость и повышена производительность, является наиболее существенным шагом в развитии базовой технологии СУБД Ingres 6.4, выпущенной в 1992 г. Пользователи найдут модернизированную версию замечательной.
Возможность отображения с помощью инструментов управления OpenIngres статистических данных базы, например заблокированных строк и столбцов пользователя, значительно увеличила полезность СУБД
К несчастью, печальные последствия нахождения Ingres в составе компании ASK Group все еще сказываются на продукте. CA добилась громадного технического прогресса в приспособлении OpenIngres к работе под управлением современных многопотоковых ОС, но все эти изменения улучшили СУБД лишь до уровня, на котором другие базы находились уже год тому назад. OpenIngres начала разбег, но пока все еще находится на полосе разгона.
В Тестовом центре PC Week Labs были проведены испытания бета-версии OpenIngres 2.0 для платформ Windows NT/Intel (поставки которой начались в конце июня) и версии для систем SPARC/Solaris. Поставки версий для других процессоров и ОС планируются на октябрь.
Цена OpenIngres 2.0 составляет $235 в расчете на одного сотрудника при покупке пакета на пять пользователей для операционных систем NT, Solaris, SCO OpenServer UnixWare, работающих на машинах с процессорами Intel. Цена лицензии на СУБД для платформ OpenVMS, HP-UX, AIX, Solaris на процессорах SPARC и Alpha (а также для других) будет составлять от $2500 до $5000 для одного пользователя.
Мы нашли, что продукт значительно переработан. Некоторые функции OpenIngres 2.0 даже лучше, чем у других, например прямое отображение таблиц на файлы ОС - настоящий подарок администратору СУБД. Стоит отметить также новую поддержку разреженных типов данных и очень широкий список поддерживаемых платформ.
Мы обнаружили и ряд структурных улучшений, которые позволяют эффективнее масштабировать сервер, особенно заметно добавление возможности непосредственного выполнения ядра СУБД на быстрых потоках ОС. Репликация также происходит на уровне процессов ядра, и не используется механизм вызова процедур, который применялся в предыдущих версиях. В OpenIngres 2.0 динамическая двусторонняя публикация в Web проходит гладко, интегрировать ее с нашими тестовыми страницами Web не представляет труда.
Visual DBA - графическое средство управления в пакете OpenIngres 2.0 - стало полезней, чем раньше, потому что показывает параметры сервера, например блокировки, открытые таблицы, почти в реальном времени. Мы могли обнаруживать и завершать сессии, требующие слишком много ресурсов и не дающие работать другим пользователям. Новая поддержка в OpenIngres блокировки на уровне строк значительно уменьшает число блокировок ресурсов по сравнению с предыдущими версиями, в которых они выполнялись только на уровне страниц.
Однако OpenIngres лишь наступает на пятки конкурентам, вместо того чтобы сделать нечто новое, как, например, это сделала IBM, разработав кластеризацию для DB2, Oracle - создав объектно-ориентированную СУБД Oracle8 и InformixSoftware, введя возможность расширения функций базы данных в Informix Universal Server.
Достоинства и недостатки
CA переработала ядро OpenIngres 2.0 и устранила многие из внутренних ограничений ядра, например количество блокировок для открытой базы; ее максимальный объем настолько увеличен, что об этих ограничениях теперь можно забыть. Так, объем страницы, ранее имевшей фиксированный размер в 2 Кб, теперь может быть увеличен до 65 Кб, а размер каждой строки доведен до 32 Кб.
По умолчанию размер страницы в OpenIngres 2.0 фиксирован и по-прежнему равен 2 Кб. Можно использовать без модификаций файлы таблиц от прежних версий Ingres. Мы начали работу в OpenIngres 2.0 со страницами таблиц размером в 2 Кб, а затем изменили их размер, сделав его равным 4 Кб с помощью простой команды Modify Table.
Большинство администраторов захотят воспользоваться этой функцией, потому что при размере страниц 4 Кб или более OpenIngres теперь поддерживает динамическую модификацию таблиц схемы базы данных, используя команду Alter Table. Эта команда была жизненно важна в наших тестах, потому что позволяла добавлять или удалять столбцы без сохранения и перезагрузки таблицы.
OpenIngres запоминала сделанные нами изменения, давая возможность восстанавливать изменения, сделанные в таблицах, если из за ошибки во введенной команде, например, удалялся незапланированный столбец. В СУБД Oracle8 пока нет функции отката назад при выполнении команд манипуляции над таблицами (в терминологии SQL называемыми командами уровня определения данных), которую по нашему мнению, должны поддерживать все СУБД.
Очевидно, что при увеличении размеров страниц в OpenIngres 1.2 использование блокировок на уровне страниц быстро становится непрактичным, поэтому в версии 2.0 поддерживается механизм блокировки на уровне строк. Мы выполняли тест на бета-версии OpenIngres 2.0, который состоял в модификации строки в одной сессии, а затем в другой сессии выполнялась модификация соседней строки. Ни одна из операций не блокировала другую, как это было в предыдущих версиях OpenIngres.
Cтепень детализации блокировок устанавливается для каждой таблицы индивидуально, так что администратор может решить, какой тип блокировок - на уровне страниц или строк - лучше подходит пользователю для решения той или иной задачи. СУБД SQL Server фирмы Sybase не поддерживает блокировку на уровне строк, а SQL Server корпорации Microsoft поддерживает, но только при выполнении операции вставки, так что в этом отношении OpenIngres превосходит оба этих продукта.
Графическая консоль в OpenIngres - Visual DBA - улучшена и может выполнять запросы на управление от большего числа пользователей и работать с более крупными базами данных. Мы использовали новое для Visual DBA окно динамического состояния базы данных для наблюдения за сессиями пользователей и выявления возникающих проблем, таких, как заблокированные очереди, которые отчетливо выделялись красным цветом (см. рисунок). Однако текстовые средства администрирования в OpenIngres остались прежними, что заставляло нас пользоваться интуитивно неясными и неоднородно сконструированными командами с различными ключами.
Наилучшая поддержка языка запросов SQL-92
OpenIngres 2.0 набирает больше очков, чем другие большие СУБД, благодаря реализации всех четырех уровней изоляции транзакций, определяемых стандартом SQL-92, и наиболее скрупулезному следованию синтаксису языка, тогда как другие СУБД следуют стандарту только в тех случаях, когда его реализация не вызывает затруднений.
Были сделаны и другие изменения на уровне ядра СУБД, ускоряющие работу OpenIngres (особенно на мультипроцессорных машинах), а именно стали возможными многопотоковое асинхронное выполнение операций ввода-вывода и более широкая поддержка быстрых фиксаций (которые позволяют потокам внутри СУБД выполнять дисковые операции и не ожидать их завершения).
Мы не измеряли производительность бета-версии OpenIngres из-за сложности и больших затрат времени, необходимого для этого, но посмотрели, используя программу Performance Monitor из Windows NT, как выполняются процессы OpenIngres. Мы наблюдали, как каждый процесс порождал множество потоков - архитектурное новшество, которое, несомненно, улучшит масштабируемость базы данных.
Функция репликации в OpenIngres теперь осуществляется программой, написанной на языке Си, а не с помощью правил самой базы (которые CA называет триггерами строк), и это дает значительное увеличение производительности. Репликация в OpenIngres не уступает таковой ни в какой другой СУБД. Мы сконфигурировали функцию репликации между двумя серверами на “изменения везде” и полностью контролировали маршруты репликации и управляли конфликтами в строках.
Функции публикации OpenIngres 2.0 в Web неплохо реализованы, но имеют перекос в сторону простоты использования за счет гибкости. Версию 2.0 предусмотрено поставлять с интерфейсами для серверов Web, в которых будут применяться механизмы расширения корпораций Netscape Communications, Microsoft или Common Gateway Interface и поддерживаться базовые шаблоны и постоянное кэширование, что совершенно необходимо для серьезных инструментов публикаций в Сети.
Мы использовали простую схему Web-страницы с тегами для динамического пополнения страниц, содержащих смесь текстов и графики, взятой из таблиц базы данных. Простые для понимания теги OpenIngres автоматически выполнили за нас почти все форматирование, включая даже относительно сложные функции, такие, как таблицы встроенных связей.
Тимоти Дик (PC Week Labs)
Графический инструмент Visual DBA показывает параметры сервера, такие, как блокировки и системные таблицы, почти в реальном времени, так что можно завершить сессии, требующие слишком много ресурсов или мешающие работать другим пользователям
Резюме для руководителей
OpenIngres 2.0 - наиболее существенная модернизация продукта с 1992 г. OpenIngres теперь не находится на краю пропасти, но новые пользователи должны рассмотреть и альтернативные продукты.Методику тестирования можно найти на странице: www.pcweek.com/reviwes/ meth.html.
Бета-версия
OpenIngres 2.0.Телефон фирмы Computer Associates International:
(800) 773-5445,
Web-адрес: www.cai.com.
+ Блокировки на уровне строк дают возможность работать большему числу пользователей; улучшено администрирование; прямое использование ядром многопотоковости улучшает производительность; реализована динамическая двусторонняя публикация в Web; поддерживается динамическая модификация таблиц.
--Не поддерживаются такие продвинутые функции, как параллельное выполнение одного запроса и кластеризация; нет возможностей ООП; незначительный рынок инструментов разработки сторонних фирм; использование базирующихся на вводе строк текстов инструментов обременительно.