Системы управления базами данных (СУБД). Организации баз данных. Потребность в стандартных и общепринятых средствах сравнительного тестирования СУБД, страница 5

Основной особенностью распределенной БД является ее “прозрачность”, т.е., как сказано в проспекте пакета Oracle 7 [2],она представляет собой “множество физических БД, которые выглядят для пользователя как одна логическая”. Все программы создаются так, как если бы они работали с единой локальной БД; их можно отладить на такой БД, а позднее разделить базу на части, размещенные в различных узлах сети, - и работа программ никак не изменится. Пользователям и разработчикам прикладных систем вообще не обязательно знать, где именно физически находится информация, с которой они работают: поиск и пересылку удаленных данных автоматически выполняют средства СУБД.

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

Характеристики коммерческих распределенных СУБД. В табл.1  приводятся  краткие  сведения  о СУБД Informix-OnLine фирмы Informix Software, Ingres Intelligent Database корпорации Ingres, Oracle 7 корпорации Oracle и Sybase System 10 фирмы Sybase.  Как видим, функции распределенной СУБД (см. врезку ”Чертова дюжина” требований к распределенным БД”) наиболее полно реализованы в Ingres и Oracle 7 (СУБД System 10 - новый продукт, находящийся пока в стадии разработки, и насколько хорошо в нем будет реализованы объявленные функции, судить трудно).

СУБД Ingres работает на множестве UNIX-платформ, на платформах DEC VMS, Hewlett-Packard MPE, OS/2, а ее инструментальные средства - еще и на платформах DOS, Windows 3.1 и Macintosh. Она поддерживает многие сетевые протоколы и имеет также средства для доступа к данным СУБД DB2, Rdb, Allbase.

Основные функции распределенной СУБД обеспечивает дополнительный компонент Ingres/Star, который отвечает за оптимизацию распределенных запросов, чтение и обновление в рамках одной транзакции данных разных узлов, возможность удалять записи одновременно в нескольких узлах.

В СУБД Oracle 7 реализовано множество функций для работы с распределенной БД. Среди них следует выделить оптимизатор распределенных запросов и средство чтения и обновления данных нескольких узлов в рамках одной транзакции. Oracle 7 может эксплуатироваться на более чем 150 вычислительных платформах, поддерживает большинство существующих коммерческих сетевых протоколов и обеспечивает обмен данными с СУБД DB2, SQL/DS, NonStop SQL, Rdb, HP TurboImage. Разрабатываются шлюзы еще к 18 СУБД.

В Oracle 7 словарь данных хранится так же , как остальные данные, поэтому его таблицы могут быть распределены по узлам сети. Все действия с распределенной БД “прозрачны” для пользователей и разработчиков. В области обновления распределенной БД копорация Oracle обогнала всех своих конкурентов: с помощью компонента SQL*Net, реализованного на основе оригинального двухфазного протокола фиксации изменений, пользователи могут совершенно одинаково работать с данными, размещающимися в различных узлах сети и на разнотипных компьютерах.

Остальные требования Макговерна в Oracle 7 тоже реализованы. Так, дублирование таблиц может выполняться двумя путями: с помощью триггеров (процедурно) и с помощью декларативного описания (“моментальные снимки”).

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