База данных Серверная СУБД |
С Е Р В Р |
СУБД клиента |
СУБД клиента |
ПК П О Л Ь З О В А Т Е Л Е й |
СУБД клиента |
При работе в архитектуре файл-сервер вся реальная обработка данных осуществляется в клиентском приложении. Любые библиотеки доступа к данным в этом случае также находятся в адресном пространстве клиентского приложения. При выполнении запросов данные, на основании которых выполняется запрос, должны быть доставлены в адресное пространство клиентского приложения. При увеличении количества пользователей и объемов данных это приводит к перегрузке сети, а также грозит сбоями в работе и разрушением таблиц.
Решением проблем, возникающих при увеличении объема данных и количества пользователей, с использованием архитектуры файл-сервер стал переход к архитектуре клиент-сервер. Базовым принципом архитектуры клиент-сервер является принцип централизации хранения и обработки данных. Для его реализации используется сервер сети. В архитектуре клиент-сервер на сервере сети размещается база данных и устанавливается мощная серверная СУБД (рис. 3).
На клиентских машинах устанавливается СУБД-клиент и имеется собственный графический пользовательский интерфейс. На них запускаются прикладные программы и запрашиваются данные из базы данных на сервере. Серверная СУБД выполняет запросы и возвращает клиентам результаты. СУБД-клиент может посылать запрос на обновление базы данных, и СУБД на сервере внесет необходимые изменения в базу данных.
Разделение функций между серверными и клиентскими машинами, позволяет достичь лучшего их выполнения. Груз файловых операций ложится на сервер, который мощнее компьютеров-клиентов и поэтому способен быстрее обслуживать запросы, а значит, возрастает скорость реализации запроса. А поскольку серверы способны хранить большое количество данных, то на компьютерах-клиентах освобождается значительное дисковое пространство для других приложений. Управление всей системой становится проще, так как все файлы централизованно размещаются на сервере.
|
Таким образом, при реализации этой модели СУБД разделяется на две части: СУБД-клиент и СУБД-сервер. СУБД-клиент размещается на пользовательской машине и позволяет формировать запросы, которые по сети передаются на машину, называемую сервером, на которой работает СУБД-сервер. Таким образом, термин сервер относится как к компьютеру, так и к соответствующему программному обеспечению.
Стало быть, в отличие от архитектуры файл-сервер в архитектуре клиент-сервер сервер используется не только для хранения информации, но и для обработки запросов. Запросы обрабатываются сервером, который обратно возвращаются клиенту только результаты выполнения запросов. Это уменьшает поток данных в сети, и обработка запросов осуществляется быстрее, так как в качестве сервера используют и более мощный компьютер и СУБД, обладающую более совершенными способами обработки данных.
Именно сервер баз данных манипулирует файлами, в которых хранятся данные, выполняет пользовательские запросы, поддерживает ссылочную целостность данных, обеспечивает доступ к ним, осуществляет резервное копирование и протоколирование операций, связанных с их изменением.
|
Распространение компьютерных сетей породило проблему, которая возникает, когда несколько пользователей с разных компьютеров начинают одновременно работать с одной и той же базой данных. До тех пор, пока база открыта только для чтения, трудностей не возникает. Но как только нескольким пользователям позволяется модифицировать базу, возникают конфликты. Эти проблемы специалистам удалось ликвидировать в режиме клиент-сервер. Если пользователь намеревается изменить данные в запрошенной выборке, то доступ любого другого пользователя для модификации выбранных записей блокируется, то есть происходит монопольный захват. Если же пользователь запрашивает информацию только для чтения, то доступ к выбранным записям не ограничен – коллективный захват.
Сервер баз данных осуществляет целый комплекс действий по управлению данными. Основными функциями сервера являются:
1. Прием запросов от клиента, их интерпретация, выполнение пользовательских запросов на выбор и модификацию данных и метаданных, получаемых от клиентских приложений, функционирующих на персональных компьютерах.
2. Поддержка ссылочной целостности данных согласно определенным в базе данных правилам.
3. Обеспечение авторизованного доступа к данным в соответствии с правом пользователя, т.е. обеспечение авторизованного доступа к данным на основе проверки прав и привилегий пользователей.
4. Хранение данных и их резервное копирование.
5. Протоколирование операций и ведение журнала транзакций.
Функции клиента следующие:
- Посылка запросов к СУБД на сервер.
- Интерпретация и представление полученных результатов запроса.
- Реализация пользовательского интерфейса.
Подводя итоги, можно сказать, что информационные системы, использующие архитектуру клиент-сервер, обладают рядом преимуществ по сравнению с их аналогами, созданными на основе сетевых версий настольных СУБД.
|
1. снижение сетевого трафика на выполнение запросов, так как при необходимости выбора записей из таблицы, клиентское приложение посылает серверу запрос, который сервером анализируется на корректность и, если запрос корректен, то он выполняется.
2. возможность хранения на сервере правил ссылочной целостности или ограничений на значение данных, то есть бизнес-правил.
3. повышение безопасности обработки данных.
4. возможность резервного копирования, архивации данных, оптимизации выполнения запросов, предоставляют возможность параллельной обработки данных.