Базы данных в компьютерных сетях
В современных условиях в большинстве случаев для доступа к базам данных используются компьютерные сети. Наиболее перспективной архитектурой при организации работы в сетях является "клиент-сервер". В клиент-серверных СУБД их программы функционально разделены на две части, называемые сервером и клиентом.
Серверная часть СУБД – это основная программа, выполняющая функции управления и защиты данных в БД, находящейся на компьютере-сервере. В качестве сервера может использоваться ядро профессиональной реляционной СУБД (Informix, Sybase) или некоторый SQL-сервер (Novell Netware SQL, Microsoft SQL Server).
Клиентская часть СУБД исполняется на компьютере пользователя и обеспечивает интерфейс пользователя с БД: преобразует запросы пользователя в команды запросов к серверной части, при получении результатов выполняет преобразование и отображение информации. Клиентской программой может быть любая программа, имеющая интерфейс с серверной программой или СУБД (Access, FoxPro, Paradox).
Между клиентской и серверной частями системы возможны различные варианты распределения функций. При этом основные функции СУБД (управление данными; обработка с помощью прикладных программ; пользовательские представления) могут выполняться на одном или нескольких узлах сети. На рис. 11.2 представлены три основные схемы разделения функций и данных между двумя узлами сети.
Модель удаленного представления иначе называют моделью сервера БД (DBS – DataBase Server). В этой модели функции компьютера-клиента заключаются только в представлении полученной с сервера информации, а все управление и прикладные функции сосредоточены на компьютере-сер-
Рис. 11.2. Схемы моделей архитектуры баз данных клиент-сервер
вере. Приложения реализуются в виде так называемых хранимых процедур. Все основные действия по коллективному доступу к БД и обработке выполняются на мощном сервере, а клиентам пересылаются только необходимые данные. Достоинством такого подхода является централизованное администрирование БД и приложений на всех этапах разработки, сопровождения и модификации системы, а также низкая загрузка коммуникационных каналов.
Модель DataBase Server используется в таких СУБД, как Ingress, Sybase и Oracle.
Удаленный доступ к данным (RDA – Remote Data Access) предполагает выполнение обработки данных на компьютерах пользователей (клиентах), а обращение к серверу производится с помощью SQL-запросов или вызовом функций специальной библиотеки API (Application Program Interface). Основным достоинством такой схемы можно считать тот факт, что большинство существующих СУБД поддерживают SQL-интерфейсы и существует большое количество систем разработки приложений клиентской части. Недостатками являются большой поток данных, передаваемых по сети, и отсутствие возможности централизованного администрирования.
В модели распределенной БД данные хранятся как на компьютере-сервере, так и на компьютере-клиенте. При этом в локальной и удаленной базах данных могут храниться различные части единой БД или же локальная и удаленная БД являются синхронизируемыми друг с другом копиями. Системы с распределенной БД обладают большой гибкостью и живучестью, однако сложны в разработке и требуют больших затрат коммуникационных и вычислительных ресурсов.