Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вопросы экзамена ПОКС 2013.docx
Скачиваний:
5
Добавлен:
01.05.2025
Размер:
1.43 Mб
Скачать

32Клиент-серверная и файл-серверная технологи. Преимущества и недостатки

Клиент-серверная технология

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

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

Файл-серверная технология

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

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

Основной особенностью этой архитектуры явился полный отказ от централизованных вычислений. Файл-сервер выполнял лишь функции хранения данных и не принимал участия в их обработке - эта работа была возложена на клиентские машины.

Файл-сервер

Обработка запроса одного пользователя:

- Обращение к БД (запрос)

- Перекачка данных с блокировкой доступа других пользователей

- Обработка данных на компьютере пользователя

Недостатки ФАЙЛ-СЕРВЕРНОЙ системы:

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

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

Блокировка данных при редактировании одним пользователем делает невозможной работу с этими данными других пользователей.

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

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

Обработка запроса одного пользователя:

- Обращение к БД (SQL-запрос)

- Передача ответа - результата обработки

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

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

Таким образом, все вышеперечисленные недостатки ФАЙЛ-СЕРВЕРНОЙ схемы устраняются в архитектуре КЛИЕНТ-СЕРВЕР:

Достоинства клиент-серверной архитектуры:

Массивы данных не перекачиваются по сети от сервера БД на компьютер пользователя. Требования к пропускной способности сети понижаются. Это делает возможным одновременную работу большого числа пользователей с большими объемами данных.

Обработка данных осуществляется на сервере БД, а не в компьютере пользователей. Что позволяет использовать более простые, а значит, дешевые компьютеры на клиентских местах.

Блокировки (захвата) данных одним пользователем не происходит.

Обеспечивается доступ пользователя не к целому файлу, а только к тем данным из него, с которыми пользователь имеет право работать.

Недостатки технологии клиент-сервер

  1. высокие требования к пропускной способности коммуникационных каналов с сервером, что препятствует использование клиентских станций иначе как в локальной сети.

  2. слабая защита данных от взлома, в особенности от недобросовестных пользователей системы.

  3. очень высокая сложность администрирования и настройки рабочих мест пользователей системы.

  4. это необходимость использовать на клиентских местах достаточно мощные компьютеры.

  5. это сложность интеграции с унаследованными системами.

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