Системы совместн использов-я файлов. Обработка запросов в них. Недостатки систем

При наличии компьютерной сети открывается возможность хранить и использовать в многопользовательском режиме централизованные БД, размещаемые на одном компьютере – сервере сети. В этом случае каждый пользователь своего ПК получает доступ к общей для всех пользователей централизованной БД. Существуют различные концепции сетевой обработки данных.

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

Сетевые версии настольных СУБД отличаются от локальных версий тем, что они обладают некоторыми специальными механизмами, позволяющими многим пользователям совместно обращаться к общим ресурсам данных из централизованной базы данных. СУБД на каждой рабочей станции посылает запросы файловому серверу по всем необходимым ей данным, которые хранятся на диске файлового сервера. Все данные из БД пересылаются на компьютер пользователя, независимо от того, сколько реально их нужно для выполнения запроса. В результате на компьютере пользователя создается локальная копия БД (время от времени обновляемая из реальной БД на сервере). Затем СУБД пользователя выполняет запрос.

Архитектура с использованием файлового сервера обладает следующими основными недостатками.

1. Поскольку файловый сервер не может обрабатывать SQL-запросы, то при совместном использовании файлов по локальной сети передаются большие объемы данных (полные копии БД перемещаются по сети с сервера на компьютер клиента).

2. С увеличением объема хранимых данных и числа пользователей снижается производительность настольных СУБД.

3. При такой архитектуре вся тяжесть выполнения запроса к БД и управления целостностью БД ложится на СУБД пользователя.

4. Доступ к одним и тем же файлам могут осуществлять сразу несколько пользователей, что усложняет управление целостностью, восстановлением БД на сервере.


 

9.67 Настольные СУБД, их + и -- .

Настольные СУБД (несетевые) обрабатывают реляционные таблицы путем полной их загрузки в оперативную память компьютера. После обработки данных таблица полностью выгружается из оперативной памяти.

Известно более десятка настольных СУБД. Наиболее популярными, исходя из числа проданных копий признаются DBASE, Visual DBASE, Paradox, Microsoft FoxPro, Visual FoxPro, Access.

Достоинства настольных СУБД:

· они являются простыми для освоения и использования;

· обладают дружественным пользовательским интерфейсом;

· ориентированы на класс ПК, на самую широкую категорию пользователей – непрофессионалов;

· обеспечивают хорошее быстродействие при работе с небольшими БД.

Недостатки настольных СУБД:

· при росте объемов хранимых данных и увеличении числа пользователей снижается их производительность и могут возникать сбои при обработке данных;

· контроль за целостностью совершается внутри пользовательского приложения, что может вызывать нарушение целостности данных;

· очень малая эффективность работы в компьютерной сети.


 

9.68 Клиент/серверные системы: клиенты, серверы, клиентские приложения, серверы БД.

Наиболее эффективную работу с централизованной БД обеспечивает архитектура клиент/сервер. Клиент/серверная система состоит из множества компьютеров, объединенных в сеть. Компьютеры называемые клиентами, занимаются обработкой прикладных программ. Компьютеры, называемые серверами, занимаются обработкой БД.

Тип компьютеров, используемых в качестве клиентов может быть разным, это могут быть большие ЭВМ или микрокомпьютеры. Однако, как правило, функции клиентов выполняют почти всегда ПК. В роли сервера может выступать компьютер любого типа, но по экономическим причинам функции сервера чаще всего также выполняют ПК, но имеющие более высокую производительность.

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

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


 

9.69 Функции клиентского приложения и сервера БД при обраб-ке запросов. Преим-ва клиент/серверной обраб-ки.

Функции клиентского приложения разбиваются на следующие группы:

· ввод-вывод данных (презентационная логика) – это часть кода клиентского приложения, которая определяет, что пользователь видит на экране, когда работает с приложением;

· бизнес-логика – это часть кода клиентского приложения, которая определяет алгоритм решения конкретных задач приложения;

· обработка данных внутри приложения (логика базы данных) – это часть кода клиентского приложения, которая связывает данные сервера с приложением.

Сервер БД в общем случае осуществляет целый комплекс действий по управлению Д. Основными среди них явл след:

· выполнение пользовательских запросов на выбор и модификацию данных и метаданных, получаемых от клиентских приложений, функционирующих на ПК локальной сети;

· хранение и резервное копирование данных;

· поддержка ссылочн целост-ти Д согласн определен в БД правилам;

· обеспечение авторизованного доступа к данным на основе проверки прав и привилегий пользователя;

· протоколирование операций и ведение журнала транзакций.

При клиент/серверной обработке уменьш сетевой трафик, так как через сеть передаются только результаты запросов.

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

Поскольку серверы способны хранить больш кол-во данных, то на компьютерах-клиентах освобождается значительный объем дискового пространства для других приложений.

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