Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Базы данных_конспект 1-15 и 23-26 стр.docx
Скачиваний:
19
Добавлен:
25.08.2019
Размер:
904.31 Кб
Скачать

Клиент-серверные системы

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

На рисунке 2 показан пример, в котором каждый из п пользователей имеет свой клиентский компьютер, обрабатывающий приложения, – пользователь Userl обрабатывает на компьютере Clientl приложения AP1 и АР2, пользователь User2 обрабатывает приложение АР2 на компьютере Client2, а пользователь UserN обрабатывает приложения АР2 и АРЗ на компьютере ClientN. Второй компьютер – это сервер базы данных. Тип компьютеров может быть совершенно разным. Теоретически, в роли клиентских компьютеров могут выступать большие ЭВМ или микрокомпьютеры. Однако из соображений стоимости функции клиентов почти всегда выполняют микрокомпьютеры. Точно так же в роли сервера может выступать компьютер любого типа, но по экономическим причинам функции сервера чаще всего выполняет микрокомпьютер. Клиенты и серверы соединяются в локальную (LAN) или глобальную (WAN) сеть. Хотя редко случается, чтобы в качестве клиентских машин использовалось что-либо иное, кроме микрокомпьютеров, роль сервера иногда выполняется большой ЭВМ, особенно когда сервер должен иметь большую вычислительную мощность или когда из соображений безопасности и для большего контроля за базой данных размещение ее на микрокомпьютере представляется неуместным. Система на рисунке 3 имеет один сервер, хотя это не всегда так. Различные серверы могут обрабатывать различные базы данных или предоставлять клиентам другие услуги. Например, в фирме, занимающейся инженерными разработками, один сервер может обрабатывать базу данных, а на другом могут работать системы автоматического проектирования.

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

Системы совместного использования файлов

Вторая многопользовательская архитектура представлена на рисунке 3. В этой архитектуре, которая носит название архитектуры с совместным использованием файлов, на пользовательских компьютерах находятся не только прикладные программы, но и СУБД. В этом случае сервер является файловым сервером, а не сервером базы данных. Почти во всех системах с совместным использованием файлов применяются локальные сети из микрокомпьютеров. Архитектура с совместным использованием файлов была разработана до клиент-серверной архитектуры и во многих отношениях является более примитивной. При совместном использовании файлов СУБД каждого пользовательского компьютера посылает запросы на обработку файлов подсистеме обработки данных операционной системы файлового сервера. Это означает, что при такой архитектуре трафик в локальной сети гораздо больше, чем при клиент-серверной архитектуре. В системе с совместным использованием файлов СУБД находится на локальном компьютере, поэтому программы на файловом сервере не способны обработать SQL-запрос. Подобная обработка должна происходить на пользовательском компьютере. При совместном использовании файлов по локальной сети передаются гораздо большие объемы данных. Из-за этих проблем системы с совместным использованием файлов редко используются для обработки больших объемов данных, которая ориентирована на транзакции. Слишком много данных необходимо блокировать и передавать для выполнения каждой транзакции, и производительность такой архитектуры оказывается слишком низкой. Однако для этой архитектуры все же есть одно применение: запрос данных, загруженных из базы. Если одному или нескольким пользователям требуется доступ к большим фрагментам базы данных для составления отчетов или ответов на запросы, то, возможно, имеет смысл поставить сервер, загружающий большие порции данных. При этом загруженные данные не обновляются и не возвращаются в базу данных. Системы с совместным использованием файлов имеют также приложения, не связанные с базами данных. В качестве примера можно привести системы, где требуется хранить большие файлы (звук, графику и анимацию) на высокоскоростных дисках большого объема. С помощью таких систем организуется также совместное использование дорогих принтеров, плоттеров и другого периферийного оборудования.