Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие по БД new.doc
Скачиваний:
11
Добавлен:
18.09.2019
Размер:
687.62 Кб
Скачать
      1. Модели "Клиент-сервер" в технологии баз данных

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

Локальные БД располагаются на том же компьютере, что и приложение, но тоже требуют наличия поставщика данных. Работа, как правило, осуществляется в однопользовательском режиме. Контроль за одновременным доступом к данным обычно реализуется механизмами блокировки.

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

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

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

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

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

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

Наряду с появившимися проблемами по установке ПО на всех компьютерах клиентов, технология обладает рядом существенных достоинств:

  1. Необычайно снижается трафик сети;

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

  3. Резкое уменьшение сложности клиентских приложений за счет отсутствия в них кода, связанного с контролем за состоянием БД и разграничения доступа к ней.

Для реализации архитектуры "клиент-сервер" используются многопользовательские СУБД (Oracle, Microsoft SQL Server). Описанная архитектура является двухуровневой. Клиентское приложение в ней называют "сильным" или "толстым" клиентом.

Развитие архитектуры "клиент-сервер" привело к появлению трехуровневой архитектуры, в которой кроме сервера и приложений клиентов присутствует еще и сервер приложений. Он является промежуточным звеном между сервером БД и клиентами.

Выгоды этой технологии очевидны:

  1. Явное упрощение клиентских приложений и их настроек;

  2. Разгрузка сервера БД (часть функций выполняет сервер приложений);

  3. Единое поведение всех клиентов и независимость от платформы. Такие системы, основанные на трехуровневой сетевой архитектуре, называют также распределенными (см. аналогию с распределенной БД). Однако разработка таких систем достаточно проблемна, так как требует знания технологии MIDAS (Multi-tier Distributed Application Services) - службы многоуровневых распределенных приложений. Эта технология состоит из ряда элементов:

  1. Удаленный брокер данных (Remote Data Broker) - интерфейс обмена данными между сервером приложений и клиентом;

  2. Брокер бизнес - объектов (Business Objects Broker) - позволяет размешать сервер приложений одновременно на нескольких компьютерах;

  3. брокер ограничений (Constraints Broker) - распределяет ограничения между отдельными уровнями системы.

Методология MIDAS поддерживает разработку приложений на следующих технологиях межпрограммного и межкомпьютерного взаимодействия:

    1. DCOM (Distributed Component Object Model) - модель распределенных (удаленных) объектов;

    2. MTS (Microsoft Transaction Server) - дополнение технологии СОМ для управлениями транзакциями;

    3. CORBA (Common Object Request Broker Architecture) – взаимодействие между объектами, расположенными на различных платформах. В заключении можно сказать, что выбор наиболее подходящей архитектуры ("локальной" - одноуровневой или "клиент-серверной" - многоуровневой) должен зависеть только от поставленной перед разработчиком задачи.