5.3. Обзор возможностей и особенностей различных СУБД
DB2 Common Server (IBM) - (собственное средство для разработки клиентских мест - VisualAge). Первая версия появилась в 1993 году. Для улучшения характеристик введены механизмы, улучшающие производительность системы, том числе механизмы буферизации, алгоритмы контроля ресурсов и мониторинга, распараллеливание операций чтения/записи на диск, асинхронная запись на диск, предварительное чтение индексов, сбор статистики и др. Оптимизатор DB2 строит QGM (Query Graph Model) для внутреннего представления запросов и ис¬пользует ее на этапах проверки семантики запросов, преобразования запросов к оптимальному виду и построения плана выполнения запроса. Расширяемость QGM позволяет добавлять к SQL DB2 новые расширения в том числе и объектноориентированные. Первоначально система реализовывалась для операционных систем MVS, VM, VSE, AIX, OS/400 и OS/2. В настоящее время существуют реализации для UNIX и Windows NT. Особенность DB2 является переплетение коммерческих продуктов и научно-исследовательских разработок Корпорация строго следует принципу «не навреди», поэтому осторожно вносит новшества в свои продукты (сюда же относятся и объектные возможности).
INFORMIX - (собственные средства разработки клиентских приложений -Informix-ViewPoint, Informix-CLI, Informix-ESQL/C, Informix Universal WebCon- nect). Динамический сервер Informix обладает высокими эксплуатационными характеристиками. Сервера баз данных фирмы Informix являются реляционными или объектно-реляционными. Все современные серверы выполнены по архитекту¬ре Informix Dynamic Scalable Architecture (DSA) и поддерживают стандарты ANSI на язык SQL. В этом семействе есть несколько серверов, которые полностью совместимы и различаются по размеру решаемых задач.
Informix-Dynamic Server - это базовый сервер баз для работы с большими и сверхбольшими объемами данных. Informix DS существует для практически всех Unix-платформ, а также для MS Windows NT/95. Для приложений для работы внутри рабочих групп выпускается вариант данного сервера для рабочих групп - Informix DS WorkGroup Edition. Этот сервер доступен для Windows NT и популярных Unix-систем (SCO Unix, Sun Solaris, IBM AIX и т.д.). Основным отличием от базового сервера является упрощенное администрирование данного сервера. Про¬дукт Informix DS Developer Edition представляет собой однопользовательский вариант Informix DS.
INTERBASE - (Inprise) Interbase Software Corporation в декабре 1997 году объявила о выпуске 5-й версии (в настоящее время 5.5) известной СУБД InterBase (IB). (Cобственные средства разработки клиентских приложений - Delphi, C+ +Builder, JBuilder) В нем, как и в версии 4.2, реализована архитектура SuperServer. Такой подход дает ряд преимуществ. Во-первых, отпадают трудности с диспетчеризацией процессов (для каждого клиента запускается поток, а не процесс). Во-вторых, взаимодействие между нитями проще и быстрее, чем между различными процессами. В-третьих, возможно организация «умного» кэширования данных. В четвертых, накладные процессы на открытие нового потока меньше, чем на запуск нового процесса. Существуют, естественно, и минусы такой архитектуры. В первую очередь они связан с с высокой нагрузкой на сервер и повышенными требованиями к надежности сервера. Интересным решением является введение в систему InterBase специального процесса - Guardian, следящего за сервером и при необходимости перезапускающим его в случае аварии. Для пользователя падение сервера теперь представляется как незначительная задержка выполнения запроса. Остается проблема репликации (резервного копирования) данных. Есть и другие незначительные и потому досадные недостатки, например, отсутствие описания некоторых API-функций резервного копирования/восстановления. Наличие on¬line документации в формате Adobe Acrobat позволяет быстро находить ответы на вопросы. Хотя последовательное чтение документации на экране для многих, кто привык к работе с печатной продукцией, является неудобным. Будучи сервером среднего класса, продукт представляет очень большой интерес для тех пользователей, кто не может позволить содержать системного администратора и постоян¬но ощущает проблему с аппаратными ресурсами. В этом случае IB является более чем удачный выбор. Сегодня IB DataBase функционирует более чем на 15 платформах, среди них Win16, Win32, Linux, Novell, Solaris, HP-UX, AIX, IRIX.
MS SQL Server - (собственные средства разработки Visual Basic, Visual C+ +). Совсем недавно вышла 7-я версия этой СУБД. В основе этой СУБД лежит вер¬сия СУБД SYBASE. Правда, по утверждению Microsoft, именно 7-я версия переписана полностью. Microsoft, без сомнения, проводит самую агрессивную политику на рынке программных средств. Всем известны ее продукты Windows и Office. Естественно и выход ее в нише СУБД. Следует отметить удобство использования этой СУБД при создании web-сценариев (подробнее в 5.4).
ORACLE - эта СУБД совершенствуется около 20 лет. В настоящее время вышла в свет 8-я версия. В первую очередь, что отличает ее от предшественников, это объектные возможности. Имеется три основных варианта - Personal Oracle, Oracle Server и Oracle Server Enterprise Edition. Продукты этой компании известны всем «солидным» фирмам. Именно они, перерабатывающие сотни и сотни миллионов байт информации, доверяют ее хранение СУБД Oracle. Продукты отлича¬ются высокой надежностью и внутренней целостностью. Стоимость ненамного выше других СУБД, а надежность очень высока. Есть и недостатки (с точки зре¬ния руководства): для достижения высоких характеристик эксплуатации требуются очень грамотные специалисты-разработчики и специалисты-администраторы.
SYBASE - (Собственное средство для разработки клиентских приложений - PowerBuilder). Долгое время SQL-сервера этой компании базировались исключительно на мэйн-фреймах. Теперь версия Adaptive Server AnyWhere доступна на платформах UNIX, Windows NT, OS/2 и NetWare. В последних версиях большое внимание уделяется поддержки Java. Достаточно мощное окружение, в том числе и CASE-средства, представляется удачным для многих пользователей. EAS (Enterprise Application Server) обладает значительно большими возможностями, чем MTS (Microsoft Transaction Server). В нем имеется поддержка не только ActiveX, но и Java и CORBA.
VISUAL FOXPRO отличается высокой скоростью, имеет встроенный объектно-ориентированный язык программирования с использованием xBase и SQL, диалекты которых встроены во многие СУБД. Имеет высокий уровень объектной модели. При использовании в вычислительных сетях обеспечивает как монопольный, так и раздельный доступ пользователей к данным. Применяется для приложений масштаба предприятия при работе на различных платформах.
ACCESS входит в состав самого популярного пакета Microsoft Office. Основные преимущества: знаком многим конечным пользователям и обладает высокой устойчивостью данных, прост в освоении, может использоваться непрофессиональным пользователем, позволяет готовить отчеты из баз данных различных форматов. ACCESS предназначен для создания отчетов произвольной формы на основании различных данных и разработки некоммерческих приложений.
Помимо коммерческих СУБД, существует и довольно сильные разработки, относящиеся к свободно-распространяемому программному обеспечению (free software). Данное программное обеспечение, как правило, изначально ориентировано на unix-системы. Из всего множества «бесплатных» СУБД выделим POST- GREE и MYSQL. Первая, по мнению многих разработчиков, является лучшим «бесплатным» решением при проектировании сложных информационных систем, а вторая стала самой распространенной СУБД, используемой в процессе создания web-сценариев (подробнее в 5.4).
Иногда удобно вместо полнофункциональной СУБД использовать так назы¬ваемые менеджеры записей (record manager’bi), примером таких систем является BTRIEVE RECORD MANAGER. Данные системы по сути представляют собой набор библиотечных функций для работы с данными на внешних носителях, что- то типа развитых файловых менеджеров, как правило содержащих готовые механизмы не только для хранения данных, но и для поддержки индексов (о индексах подробней в главе 6).
Выбор СУБД каждый раз зависит фактически от поставленных требований к разрабатываемой системе, требований к скорости разработки, имеющихся ресурсов. Однозначных рекомендаций из разряда «на все случаи жизни» просто не существует.