СУБД

Мало найдется в мире продуктов, доживших до десятой версии и сохранивших при этом целостность подхода и команду разработчиков. Да и те, которым это удалось, нередко бывают перегружены избыточными функциями или чересчур специализированы. А вот выпуска подразделением iAnywhere Solutions компании Sybase версии SQL Anywhere 10 - мы рады сообщить об этом - дожидаться стоило. Этот дебютировавший в сентябре комплект СУБД и инструментальных средств скорее похож на совершенно новый продукт, чем на очередное обновление. Цена на него колеблется в пределах от 599 долл. за лицензию на пять пользователей до 2499 долл. в расчете на один процессор сервера независимо от количества пользователей. В состав комплекта входит реляционная система управления базами данных SQL Anywhere, СУБД UltraLite для мобильных устройств, инструменты для синхронизации MobiLink и SQL Remote, а также расширения QAnywhere, позволяющие приложениям обмениваться сообщениями с Web-сервисами SQL Anywhere в процессе синхронизации с помощью MobiLink. В ходе тестирования основное внимание уделялось возможностям разработки типичных внутрифирменных приложений и администрирования базы данных.

Роль основной точки входа в SQL Anywhere играет визуальная консоль Sybase Central (см. рис. 1, вверху), которая предлагает очень удобную оболочку администрирования и с помощью механизма плагинов позволяет легко и просто подключать множество самых современных инструментальных средств. Настраивать параметры тиражирования и синхронизации данных теперь можно посредством графического интерфейса. Кроме того, пользователь найдет здесь множество других возможностей настройки.

Вверху: в качестве платформы для инструментария iAnywhere использовала Sybase Central.

 Внизу: настроить SQL Anywhere 10 более точно помогают усовершенствованные профили приложений

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

SQL Anywhere 10 предлагает богатые возможности по сбору и анализу статистических данных

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

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

Выполнение запросов ускоряет и новый процессор их обработки, который в версии 10 реализован на основе виртуальной машины, интерпретирующей специальный байткод. Это намного увеличивает производительность при выполнении повторяющихся процедур. Еще одна новая функция версии 10 - параллельная обработка запросов - существенно повышает эффективность функционирования СУБД на многопроцессорных машинах.

Изоляция мгновенных снимков, которая должна быть предусмотрена в запросах явным образом, снижает опасность блокировок и тупиковых ситуаций при одновременном выполнении однотипных операций, поскольку благодаря ей в базе данных присутствует сразу несколько версий строк одной и той же таблицы. Это, правда, потребует серьезной коррекции индексов, что несколько усложняет переход на версию 10 (к данному вопросу мы еще вернемся). Если изоляция осуществлена, то при обработке запроса используются мгновенные снимки строк, тогда как все остальные операции производятся над реальной БД.

Такая технология, впрочем, предполагает компромисс между согласованием мгновенных снимков с данными реального времени и скоростью работы приложения. В SQL Anywhere 10 предусмотрены мгновенные снимки трех разных типов, и выбор нужного требует тщательного подхода: необходимо, чтобы уровень рассогласованности мгновенных снимков и реальных данных соответствовал характеру решаемой задачи. Серьезным достоинством мгновенных снимков является то, что во всех таблицах данные относятся к одному и тому же моменту времени. Это очень важно для аудиторских и иных приложений, в которых согласованность данных имеет большее значение, чем их оперативность.

Широкий спектр ресурсов iAnywhere предлагает разработчикам приложений, применяемых и за пределами корпоративных вычислительных центров. Хотите создать программу для пользователей мобильных устройств на базе Microsoft Pocket PC, Palm OS или Symbian? Зайдите на сайт www.ianywhere. com/products/sql_anywhere_resources, где в вашем распоряжении окажутся богатая коллекция сценарных демонстраций, документация и дополнительная информация. Здесь же можно загрузить бесплатную версию пакета SQL Anywhere Developer Edition с бессрочной лицензией. Справедливости ради отметим, что когда готовился этот обзор, версии 10 на сайте еще не было, но ее обещают разместить в конце сентября. Нет на нем и условий лицензирования десятой версии, однако представители фирмы сообщили нам, что они будут примерно такими же, как и для девятой. Другими словами, пользователь получит право развернуть продукт на одном компьютере для его оценки, а также для разработки и тестирования собственных приложений.

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

Сервер синхронизации MobiLink 10 полностью совместим с клиентами версии 8 и более поздних, а переход на него производится с помощью сценариев обновления, обеспечивающих требуемую последовательность обработки базы данных, сервера и клиентов.

Сценарии и командная строка в SQL Anywhere мало чем отличаются от традиционных. Как это ни печально, но и здесь мы столкнулись с малопонятной терминологией и довольно туманными при всем своем многословии сообщениями об ошибках.

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

SQL Anywhere 10

После необычайно долгой разработки, длившейся на протяжении целых трех лет, iAnywhere Solutions наконец-то пополнила свой портфель СУБД новой версией SQL Anywhere 10. Время затрачено было не зря: пользователи получили систему с широчайшими возможностями, охватывающими как карманные устройства, так и комплексные корпоративные приложения. Для освоения новинки, правда, разработчикам придется изучить большой и нестандартный арсенал средств повышения производительности, включая материализованные представления и несколько уровней изоляции мгновенных снимков. В этом поможет бесплатная лицензия разработчика, которая позволит им опробовать продукт собственными руками. Ближе познакомиться с новинкой можно по адресу: www.ianywhere.com/products/ sql_anywhere_resources.

 

     Ценовой анализ. Лицензия на SQL Anywhere предлагается в трех вариантах, один из которых бесплатен, а два других подразумевают довольно умеренную оплату по числу рабочих мест или количеству процессоров (начиная с 599 долл. на пять пользователей и заканчивая 2499 долл. за каждый ЦП сервера безо всяких ограничений на число рабочих мест). Как известно, в структуре общих расходов на СУБД основная часть приходится не на стоимость самого ПО, а на администрирование и разработку приложений, и iAnywhere находится здесь в выигрышном положении. Его обеспечивают богатые возможности пакета по сбору статистической информации и развитые средства профилирования приложений. Все эти улучшения, дополненные к тому же параллельной обработкой запросов, намного повышают производительность труда разработчиков на любых аппаратных средствах и при любом календарном графике проекта.

Краткий список аналогов

- Oracle 10g корпорации Oracle. Серверная платформа баз данных, отличающаяся простотой развертывания и эксплуатации, а также инновационной поддержкой мультимедийных приложений на основе стандартов (www.oracle.com/technology/products/database/oracle10g).

- DB2 корпорации IBM. Инструменты самообслуживания, помогающие работать как начинающим, так и опытным администраторам; для ответственных приложений очень полезны хорошо отлаженные функции автоматической обработки отказов и восстановления работоспособности (www.ibm.com/db2).

- SQL Server корпорации Microsoft. Обеспечив отличную интеграцию технологий разработки и механизмов СУБД, продукт стал существенно сложнее в эксплуатации и управлении (www.microsoft.com/sql).

    

Оценка основных показателей

Администрирование

Хорошо

Разработка

Хорошо

Масштабируемость

Хорошо

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

С редактором Питером Коффи можно связаться по адресу: peter_coffee@ ziffdavis.com.