Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Умк_Базы.doc
Скачиваний:
4
Добавлен:
01.03.2025
Размер:
3 Мб
Скачать
☆

1.2. Современные архитектуры ис

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

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

Если Вы испытываете затруднения в ответе на какой-либо вопрос, обратитесь к материалам главы 2 учебника [1] или главы 28 учебника [3].

1.2.1. Архитектура "клиент – сервер"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Рис. 1.3. Архитектура удаленных БД "клиент – сервер"

Работа в архитектуре "клиент – сервер" построена следующим образом:

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

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

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

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

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

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

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

В архитектуре "клиент – сервер" работают так называемые "промышленные" СУБД. Промышленными они называются из-за того, что именно СУБД этого класса могут обеспечить работу информационных систем масштаба среднего и крупного предприятия. К разряду коммерческих промышленных СУБД принадлежат MS SQL Server, Oracle, Gupta, Informix, Sybase, DB2, ряд других.

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

Основные достоинства данной архитектуры по сравнению с архитектурой "файл-сервер":

  • Уменьшается сетевой трафик.

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

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

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

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

В рамках направления "клиент-сервер" существуют два основных направления: "тонкий" и "толстый" клиент.

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

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

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