К организации баз данных предъявляются такие общие требования как, обеспечение высокой скоростью обработки запросов, секретности, независимости (физической и логической) данных, безопасности и т.д. Кроме перечисленных требований, к РБД выдвигаются требования "прозрачности": распределенной структуры БД; совместного доступа к данным; распределенной обработки.
Распределенная структура БД предполагает независимость конечных пользователей и программ от способа размещения информации на рабочих станциях сети, т.е. формулирование запросов к РБД производится аналогично запросам к централизованной БД.
Совместный доступ к данным подразумевает модификацию одних и тех же данных несколькими пользователями не нарушая целостности РБД.
"Прозрачность" распределенной обработки означает независимость пользователей и программ от типа локальной вычислительной сети и применяемого сетевого программного обеспечения. Обработка запроса пользователя может производиться на нескольких ЭВМ.
Доступ пользователей к РБД и администрирование осуществляется с помощью системы управления распределенной базой данных (СУРБД), которая обеспечивает выполнение следующих функций:
- автоматическое определение ЭВМ, хранящей требуемые в запросе данные;
- декомпозицию распределенных запросов на частные подзапросы к БД отдельных ЭВМ;
- планирование обработки запросов;
- передачу частных подзапросов и их исполнение на удаленных ЭВМ;
- прием результатов выполнения частных подзапросов;
- поддержание в согласованном состоянии копий дублированных данных на различных ЭВМ сети;
- управление параллельным доступом пользователей к РБД;
- обеспечение целостности РБД.
4.5. Базовые технологии обработки запросов в архитектурах
файл-сервера и клиент-сервера
Прикладные программы управления данными представляют собой необходимый инструмент для распределенной обработки.
Архитектура клиент-сервера сети позволяет различным прикладным программам одновременно использовать общую базу данных. Совершенно очевидно, что перенос программ управления данными с рабочих станций на сервер способствует высвобождению ресурсов рабочих станций, предоставляет возможность увеличить число частных, локально решаемых задач. Данная архитектура позволяет также централизовать ряд самых важных функций управления данными, такие, как защита информации баз данных, обеспечение целостности данных, управление совместным использованием ресурсов.
Одним из важных преимуществ архитектуры клиент-сервера в сетевой обработке данных является возможность сокращения времени реализации запроса. В подтверждение этому рассмотрим две базовые технологии обработки информации в архитектуре клиент-сервера сети и технологии использования традиционного файлового сервера.
Допустим, что прикладная программа базы данных загружена на рабочую станцию и пользователю необходимо получить все записи, удовлетворяющие некоторым поисковым условиям. В среде традиционного файлового сервера программа управления данными, которая выполняется на рабочей станции, должна осуществить запрос к серверу каждой записи базы данных (рис.4.11,а). Программа управления данными на рабочей станции может определить, удовлетворяет ли запись поисковым условиям, лишь после того, как она будет передана на рабочую станцию.
Очевидно, что данный технологический вариант обработки информации имеет наибольшее суммарное время передачи данных по каналам сети.
В среде клиент-сервера, напротив, рабочая станция посылает запрос высокого уровня серверу базы данных. Сервер базы данных осуществляет поиск записей на диске и анализирует их. Записи, удовлетворяющие условиям, могут быть накоплены на сервере. После того, как запрос целиком обработан, пользователю на рабочую станцию передаются все записи, которые удовлетворяют поисковым условиям (рис. 4.11,б).
Данная технология позволяет снизить сетевой трафик и повысить пропускную способность сети. Более того, за счет выполнения операции доступа к диску и обработки данных в одной системе сервер может осуществить поиск и обрабатывать запросы быстрее, чем если бы эти запросы обрабатывались на рабочей станции.