Пятница, 19.04.2024, 21:59

Вы вошли как Гость | Группа "Гости" | RSS
Главная Каталог статей
Меню сайта

Категории раздела
Администрирование информационных систем [44]
Операционные системы [0]
Архитектура [0]
Сети передачи данных [29]
ЭВМ [0]
Надежность информационных систем [0]
Безопасность [0]
Корпоративные информационные сети [6]

Liveinternet

Главная » Статьи » Информационные технологии » Сети передачи данных

Сравнение централизованной и клиент-серверной архитектуры БД
Модель с централизованной архитектурой 

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

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

На том же компьютере установлены СУБД и приложение для работы с БД.

Пользователь запускает приложение. Используя предоставляемый приложением пользовательский интерфейс, он инициирует обращение к БД на выборку/обновление информации.

Все обращения к БД идут через СУБД, которая инкапсулирует внутри себя все сведения о физической структуре БД.

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

Результат СУБД возвращает в приложение.

Приложение, используя пользовательский интерфейс, отображает результат выполнения запросов.



Рис. 1. Централизованная архитектура

Таким образом, в этой модели реализуется однопользовательский режим работы.

Подобная архитектура использовалась в первых версиях СУБД DB2, Oracle, Ingres. Исходная идея создания и использования баз данных предполагала многопользовательское использование данных. 

В данной модели с централизованной архитектурой реализуем и многопользовательский режим работы. С этой целью к мейнфрейму подключалось несколько терминалов, но тогда приходилось обслуживать в рамках ресурсов одного компьютера весь комплекс возникающих задач, начиная от собственно обработки и хранения данных, до отображения информации и приема запросов от пользователей. Модель использовалась в период «господства» больших ЭВМ (IBM-370, ЕС-1045, ЕС-1060). Все программы разных пользователей выполнялись одной ЭВМ в режиме разделения времени или мультипрограммирования. С ростом сложности задач росло количество пользователей и объемы баз данных, вследствие чего подобная архитектура более не обеспечивала удовлетворительной производительности.

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

Распределенная модель вычислений (архитектура «клиент-сервер»)


Использование архитектуры «клиент-сервер» предполагает наличие некоторого количества компьютеров, объединенных в сеть, один из которых выполняет особые управляющие функции (является сервером сети). 

Так, архитектура «клиент-сервер» разделяет функции приложения пользователя (называемого клиентом) и сервера. Приложение-клиент формирует запрос к серверу, на котором расположена БД, на структурном языке запросов SQL (Structured Query Languague), являющемся промышленным стандартом в мире реляционных БД. Удаленный сервер принимает запрос и переадресует его SQL-серверу БД [22, 36].

SQL-сервер – специальная программа, управляющая удаленной базой данных. SQL-сервер обеспечивает интерпретацию запроса, его выполнение в базе данных, формирование результата выполнения запроса и выдачу его приложению-клиенту. При этом ресурсы клиентского компьютера не участвуют в физическом выполнении запроса; клиентский компьютер лишь отсылает запрос к серверной БД и получает результат, после чего интерпретирует его необходимым образом и представляет пользователю. Так как клиентскому приложению посылается результат выполнения запроса, по сети «путешествуют» только те данные, которые необходимы клиенту. В итоге снижается нагрузка на сеть. Поскольку выполнение запроса происходит там же, где хранятся данные (на сервере), нет необходимости в пересылке больших пакетов данных. Кроме того, SQL-сервер, если это возможно, оптимизирует полученный запрос таким образом, чтобы он был выполнен в минимальное время с наименьшими накладными расходами [22, 36].

Все это повышает быстродействие системы и снижает время ожидания результата запроса. При выполнении запросов сервером существенно повышается степень безопасности данных, поскольку правила целостности данных определяются в базе данных на сервере и являются едиными для всех приложений, использующих эту БД. Таким образом, исключается возможность определения противоречивых правил поддержания целостности. Мощный аппарат транзакций, поддерживаемый SQL-серверами, позволяет исключить одновременное изменение одних и тех же данных различными пользователями и предоставляет возможность откатов к первоначальным значениям при внесении в БД изменений, закончившихся аварийно [22, 36].

Итак, в результате работа построена следующим образом:

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

СУБД располагается также на сервере сети.

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

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

СУБД инкапсулирует внутри себя все сведения о физической структуре БД, расположенной на сервере.

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

Таким образом, СУБД возвращает результат в приложение.

Приложение, используя пользовательский интерфейс, отображает результат выполнения запросов.

Рассмотрим, как выглядит разграничение функций между сервером и клиентом:

Функции приложения-клиента:

− Посылка запросов серверу.

− Интерпретация результатов запросов, полученных от сервера.

− Представление результатов пользователю в некоторой форме (интерфейс пользователя).

Функции серверной части:

− Прием запросов от приложений-клиентов.

− Интерпретация запросов.

− Оптимизация и выполнение запросов к БД.

− Отправка результатов приложению-клиенту.

− Обеспечение системы безопасности и разграничение доступа.

− Управление целостностью БД.

Реализация стабильности многопользовательского режима работы.

В архитектуре «клиент-сервер» используются так называемые «удаленные» (или «промышленные») СУБД. Промышленными они называются из-за того, что именно СУБД этого класса могут обеспечить работу информационных систем масштаба среднего и крупного предприятия, организации, банка. Локальные СУБД предназначены для однопользовательской работы или для обеспечения работы информационных систем, рассчитанных на небольшие группы пользователей [36].

К разряду промышленных СУБД принадлежат Oracle, Gupta, Informix, Sybase, MS SQL Server, DB2, InterBase и ряд других



Рис. 2. Архитектура «клиент-сервер»

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

Рассмотрим основные достоинства данной архитектуры по сравнению с архитектурой «файл-сервер»:

Существенно уменьшает сетевой трафик.

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

Наличие специального программного средства – SQL-сервера – приводит к тому, что существенная часть проектных и программистских задач становится уже решенной.

Существенно повышает целостность и безопасность БД.

Однако нельзя не указать и некоторые недостатки и трудности, с которыми приходится сталкиваться при применении данной архитектуры. Во-первых, это стоимость SQL-сервера. Внедрение архитектуры «клиент-сервер» требует существенных финансовых ресурсов. К числу недостатков можно отнести и то, что большое количество клиентских компьютеров, расположенных в разных местах, вызывает определенные трудности со своевременным обновлением клиентских приложений на всех компьютерах-клиентах. Однако, эти недостатки не являются препятствием к использованию данных принципов построения корпоративных информационных систем. Так, архитектура «клиент-сервер» хорошо зарекомендовала себя на практике, в настоящий момент существует и функционирует большое количество БД, построенных в соответствии с данной архитектурой.
 
Категория: Сети передачи данных | Добавил: Admin (01.10.2010)
Просмотров: 5801 | Рейтинг: 2.0/1
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Поиск

Поиск Google

Copyright MyCorp © 2024 Бесплатный конструктор сайтов - uCoz