Добавлен: 04.04.2023
Просмотров: 102
Скачиваний: 3
Рисунок 4 ― Модель сервера баз данных
Преимущества DBS-модели перед RDA-моделью заключаются в возможности централизованного администрирования различных функций, снижение трафика сети, возможность разделения процедуры между несколькими приложениями, экономия ресурсов компьютера за счет использования единожды созданного плана выполнения процедуры. Однако необходимо перечислить и недостатки DBS-модели:
- процедурные расширения SQL, которые применяются для написания хранимых процедур, встроены в конкретные СУБД и имеют ограниченные возможности. Поэтому система не является мобильной относительно СУБД. Отсутствие в СУБД возможностей отладки и тестирования, а также хранимых процедур может привести к сбою, а зачастую к полной неработоспособности всей БД; [9]
- не предусмотрены варианты взаимодействия клиента и сервера для децентрализации приложений, например, хранимые очереди, асинхронные вызовы и др.;
- DBS-модель не обеспечивает требуемой эффективности использования вычислительных ресурсов. Ограничения в ядре СУБД не позволяют организовать полноценный эффективный баланс загрузки, перенос процедур на другие серверы БД. [11]
Модель сервера приложений (AS) (Рисунок 5) — сетевая архитектура, которая представляет собой процесс, выполняемый на клиенте и отвечающий за ввод и отображение данных пользователем. Основной элемент модели AS-сервер приложения на удаленном компьютере (или нескольких компьютерах), который представляет собой группу сервисов (служб). [3, с. 113; 2, с. 238]
Рисунок 5 - Модель сервера приложений
В сети может быть несколько серверов приложений, в этом случае каждый из них предоставляет определенный перечень услуг. Каждая программа, которая пользуется данными услугами, считается клиентом приложения. Клиент обращается с запросом к конкретной службе, серверы приложений обезличены и служат для создания графического интерфейса с пользователем. Запросы клиента выстраиваются в очередь к AS-процессу, который извлекает и передает их службе в соответствии с приоритетами.
Доступ к информационным ресурсам, необходимым для решения прикладных задач, обеспечивает, как и в RDA-модели, менеджер ресурсов, к примеру, SQL-сервер. [12]
Из прикладных компонентов доступны базы данных, очереди, почтовые службы и др. Серверы приложений выполняются, как правило, на том же компьютере, где работает менеджер ресурсов, поэтому нет необходимости в направлении SQL-запросов по сети, что повышает производительность системы.
AS-модель является универсальной системой, в которой может быть неограниченное количество уровней, взаимодействующих между собой. Она отличается четким разграничением логических компонентов, возможностью баланса загрузки между несколькими серверами, рациональным выбором программных средств для их реализации, что обеспечивает такой уровень гибкости, защиты данных и открытости, который недостижим в моделях RDA и DBS. Система может работать по медленным линиям связи, что позволяет снизить трафик между клиентом и сервером приложений. [3, с. 103]
В AS-модели реализована трехзвенная схема разделения функций, в которой прикладной компонент выделен, как важнейший изолированный элемент приложения, имеющий стандартизированные интерфейсы с двумя другими компонентами. [11]
Сравнительный анализ моделей технологий «Файловый сервер» и «Клиент-сервер» представлены в таблице в Приложении 2.
Технология «Клиент-сервер» также является системой распределенных вычислений, в которой участвуют несколько серверов. Распределенные вычисления являются одной из разновидностей системы «Клиент-сервер», поэтому пользователи получают все те преимущества, к примеру, рост общей пропускной способности и возможность многозадачной работы.
Так как обработка осуществляется в любом месте сети, распределенные вычисления в архитектуре «Клиент-сервер» дают гарантию эффективного масштабирования [1, с. 155].
Для того чтобы достичь баланса между клиентом и сервером, компонент приложения должен выполняться на сервере только в том случае, если более эффективной будет именно централизованная обработка. Если логика программы, взаимодействующей с централизованными данными, находится на одной машине с данными, нет необходимости передавать их по сети, и требования к сетевой среде могут быть снижены.
Выводы по главе 1:
- Двухуровневая архитектура значительно уступает многоуровневой технологии, которая используется в настоящее время. Различаются три модификации многоуровневой архитектуры «Клиент-сервер» — RDA, DBS и AS.
- В основе моделей RDA и DBS лежит двухзвенная схема разделения функций. В RDA-модели прикладные функции выполняются клиентом, в DBS-модели — ядром СУБД. В RDA-модели прикладной компонент сливается с компонентом представления, в DBS-модели интегрируется в компонент доступа к ресурсам.
- Если требуется работа небольших информационных систем, не требующая графического интерфейса с пользователем, можно выбрать FS-модель. Проблема графического интерфейса решается путем применения RDA-модели. DBS-модель хорошо подходит для СУБД. AS-модель — лучший вариант для разработки крупных информационных систем и при использовании низкоскоростных каналов связи.
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ и организация работы СУБД В архитектуре «Клиент-Сервер»
Программное обеспечение технологии «Клиент-сервер»
Архитектура «Клиент-сервер» подразумевает, что компьютеры-серверы должны быть мощнее компьютеров-клиентов, поскольку выполняют более ответственные задачи, такие как администрирование, исполнение одновременно большого количества запросов, организация защиты информации и др. Для организации сети по технологии «Клиент-сервер» необходимо использовать соответствующее ПО, в которое входит клиентская и серверная часть. [7, с. 136]
ПО, которое устанавливается на сервер для управления базой данных, реагирует на запросы клиентов и производит поиск информации, а затем возвращает результат поиска.
Обработка данных на сервере состоит из сортировки, извлечения запрошенной информации и ее направление в адрес пользователя. Кроме того, ПО сервера выполняет обновление, удаление, добавление, защиту информации и др. [5, с. 218]
Также на сервере размещаются хранимые процедуры, которые помогают в процессе обработки данных за счет, уменьшения длины кода и используемого дискового пространства на клиентах. Одна хранимая процедура может вызываться неограниченным количеством клиентов, и ее нет необходимости включать в код каждой программы. Также хранимые процедуры способствуют уменьшению сетевого трафика, поскольку единственное обращение клиента вызывает выполнение серии команд хранимой процедуры, т.е. нет необходимости выполнять каждую из команд по отдельному запросу. [11]
Одновременно с этим производится контроль безопасности для предотвращения несанкционированного запуска пользователем некоторых процедур.
Возможности модели «Клиент-сервер» дополняются инструментальными средствами, приложениями и утилитами для интерфейсной части. Они включают в себя средства запросов, упрощающие доступ к данным сервера за счет использования предопределенных запросов и встроенных возможностей создания отчетов, пользовательских приложений. Другие приложения, к примеру, Microsoft Access, располагают своим собственным SQL для обеспечения доступа к управлению базами данных от различных разработчиков. [12]
Для реализации системы «Клиент-сервер» требуются специально созданные части интерфейса, и средства разработки программ, а такие программы как Microsoft Visual Basic значительно упрощают для разработчиков и администраторов написание приложений, предназначенных для доступа к серверам БД.
Если используется ОС Windows, на сервере зачастую устанавливается комплекс программ MS BackOffice. В его состав входят:
- сетевая ОС Windows Server;
- System Management Server — система сетевого администрирования;
- SQL Server — сервер управления БД;
- сервер, устанавливающий соединения с хост-компьютерами SNA Server;
- сервер системы email Exchange Server;
- Internet Information Server для работы с Internet. [5, с. 226]
Процессы разработки и развертывания программного обеспечения архитектуры клиент-сервер, значительно опередили процессы стандартизации распределенных вычислений во всех аспектах и физического, и прикладного уровня. Отсутствуют стандарты, что затрудняет создание интегрированной конфигурации из устройств разных разработчиков.
Основные достоинства архитектуры «Клиент-сервер» — ее модульность и возможность объединения различных платформ и приложений, поэтому необходимо решить вопросы совместимости этих платформ и приложений. Для этого у разработчиков должен быть набор инструментальных средств, которые обеспечивают единый стиль доступа к системным ресурсам на всех платформах. Это позволяет разработчикам программировать приложения с одинаковым интерфейсом на различных ПК, которые являются и серверами и рабочими станциями, и применяют одинаковый метод доступа к данным независимо от их расположения. [11]
Эти требования можно удовлетворить путем использования стандартных интерфейсов и протоколов между приложениями и коммуникационным ПО, с одной стороны, и операционной системой с другой. Данные интерфейсы и протоколы называются промежуточным программным обеспечением. Стандартные программные интерфейсы облегчают установку и использование одного и того же приложения на серверах и рабочих станциях различных конфигураций. Стандартизованные протоколы позволяют взаимодействовать различным серверным интерфейсам с клиентами. [12]
Существуют разные по сложности пакеты промежуточного программного обеспечения. Производители клиентов и серверов, как правило, предлагают на выбор ряд популярных пакетов промежуточного программного обеспечения, чтобы пользователь мог сначала выбрать определенную стратегию развертывания промежуточного ПО, а затем приобрести оборудование от разных разработчиков, которое поддерживает данную стратегию. На рисунке 6 представлен вариант применения промежуточного ПО в архитектуре «Клиент-сервер». [11]
Точная роль промежуточного программного обеспечения зависит от вычислительной модели клиент-сервер. Существует несколько классов приложений клиент-сервер, которые зависят от способа разделения функций приложения. Промежуточное ПО включает в себя клиентский и серверный компонент.
Рисунок 6 ― Пример применения промежуточного ПО в архитектуре «Клиент-сервер»
Основное назначение промежуточного ПО — обеспечение доступа приложения или пользователя к услугам, которые предоставляются на серверах, таким образом, чтобы различие серверов не мешало их работе. [1, с. 188]
Как уже говорилось ранее, стандартным средством доступа к реляционной базе данных для локальных и удаленных пользователей или приложений является язык структурированных запросов (SQL). Кроме того, многие производители реляционных БД добавляют к нему свои собственные расширения.
Организация обработки данных в СУБД с архитектурой «Клиент-сервер»
Существуют различные классификации баз данных, к примеру, по степени изменчивости они делятся на условно-постоянные, которые (такие БД используются в основном для справочных систем) и сильно динамичные (используются, к примеру, в банковских системах).
Термин «сервер баз данных» чаше всего используется для обозначения в целом СУБД, которая основана на архитектуре «Клиент-сервер», т.е. и серверной, и клиентской части. Такие СУБД используются для хранения и организации доступа к базам данных. [7, с. 169]
Ведение БД осуществляется системами управления базами данных, которые значительно отличаются друг от друга и по возможностям в плане функционала, и по эксплуатационным характеристикам. [11]
В большинстве случаев одна база данных полностью находится в одном узле сети и обслуживается одним сервером, однако серверы БД являются простым и недорогим эквивалентом распределенных баз данных, т.к. общая база данных является доступной для каждого пользователя в локальной сети.
К примеру, для БД с условно-постоянными данными к важнейшим характеристикам относятся скорость обработки запросов и скорость создания выходных отчетов по БД, а показатель скорости обработки транзакций и контроль целостности БД при обработке транзакций не столь критичны. А для БД с динамичными данными, в которые постоянно вносятся изменения, важнейшими показателями будут показатель скорости обработки транзакций, возможность контроля целостности, скорость формирования отчетов, синхронность по чтению и транзакциям. Скорость обработки запросов будет менее важна. Поэтому различные СУБД должны применяться для работы с БД разных классов. [8, с. 54]
Поскольку, как было отмечено ранее, основным интерфейсом между клиентской и серверной частями является язык запросов баз данных SQL. Совокупное понятие SQL-сервер имеет отношение ко всем серверам баз данных, которые основаны на SQL. Они имеют свои недостатки и преимущества. С одной стороны, плюсов является стандартный интерфейс, с другой — минусом является то, что такой высокий уровень интерфейса между клиентской и серверной частями системы на клиентской стороне поддерживает очень ограниченное количество программ СУБД. Это нормально в том случае, когда на стороне клиента установлена маломощная рабочая станция. Но если клиентский ПК обладает достаточной мощностью, возникает желание перенести на него больше функций управления БД и тем самым разгрузить сервер, являющийся узким местом всей системы. Перспективным является направление гибкого конфигурирования системы, когда распределение функционала между клиентской и пользовательской частями СУБД фиксируется в процессе установки системы. [12]