
10 Вопрос
Архитектура клиент/сервер
АРХИТЕКТУРА КЛИЕНТ/СЕРВЕР
Радикальным решением проблемы сетевого трафика (поток сообщений в сети передачи данных, рабочая нагрузка) и других проблем, возникающих при серьезном увеличении объема данных и числа пользователей, стал переход к архитектуре КЛИЕНТ/СЕРВЕР. Технология клиент-сервер подразумевает, что помимо хранения базы данных центральный компьютер (сервер базы данных) должен обеспечивать выполнение основного объема обработки данных.
Клиент/сервер - это широко распространённая двухуровневая модель построения распределённой вычислительной среды, в которой интерфейсная часть задачи (front end) выполняется на машине пользователя, а требующая больших ресурсов обработка запросов (back end) осуществляется сервером. В чисто программной интерпретации этой архитектуры имеются процессы-клиенты, которые формируют и отсылают запросы на обработку процессу-серверу, возвращающему им результаты.
Архитектура клиент/сервер обладает следующими достоинствами:
Разделение логики приложения (клиент) и обработки данных (сервер)
При выполнении запросов сервером существенно повышается степень безопасности данных, поскольку полномочия пользователей и правила целостности данных определяются на сервере и являются едиными для всех приложений, использующих БД
Аппарат транзакций, поддерживаемый SQL-серверами, блокирует одновременное изменение одних и тех же данных различными пользователями и предоставляет возможность откатов к первоначальным значениям при внесении в БД изменений, закончившихся аварийно
Уменьшение сложности клиентских приложений за счет отсутствия в них кода, связанного с управлением, контролем БД и разграничением доступа к ней
Снижение сетевой нагрузки
Недостатки:
Существуют задачи, для решения которых данная модель может просто не подойти (расчеты, выполняемые в режиме реального времени)
11 Вопрос
Локальные и клиент/серверные базы данных
Локальная БД
Локальные БД располагаются на том же компьютере, что и работающие с ними приложения. В этом случае говорят, что система имеет локальную архитектуру, а такие СУБД еще называют настольными или персональными. К ним относятся PARADOX, dBASE, FoxPro, Access.
клиент/серверные БД
вся информационная система делится на неоднородные части – СЕРВЕР и КЛИЕНТ БД
Основными обязанностями сервера баз данных являются:
обеспечение авторизованного доступа к данным на основе проверки прав и привилегий пользователей (администрирование)
выполнение пользовательских запросов на выборку и модификацию данных
управление параллельной обработкой данных
поддержка ссылочной целостности данных
хранение и резервное копирование данных
обеспечения восстановления данных в случае их потери или поврежденния
ведение журнала транзакций
Клиент – ЭТО ПРИЛОЖЕНИЕ ПОЛЬЗОВАТЕЛЯ.
При работе в архитектуре Клиент/сервер приложение БД должно:
Выполнять соединение с сервером и отключение от него
формировать и отсылать запрос серверу, получая от него результаты выполнения запроса
выполнять обработку полученных данных, включая их визуализацию
взаимодействие клиентского приложения и сервера баз данных в архиткутуре клиент/сервер обеспечивается следующими группами функций:
функции управления информационными ресурсами (сервер)
функции ввода данных
прикладные функции, определяющие основные алгоритмы решения задач приложения
функции обработки данных внутри приложения, включая их отображение
Если все группы функций распределяются только между двумя процессами, которые выполняются на двух платформах – на клиенте и на сервере, то такая архитектура называется двухуровневой или двухзвенной. Первым звеном в ней является приложение клиента, а вторым – сервер БД и сама БД.
Клиентское приложение в 2зв архитектуре называется толстым или сильным клиентом
Недостатки этой архитектуры – компьютер-клиент должен обладать достаточной самостоятельной производительностью и ресурсоемкостью, так как именно на нем выполняется работа компоненты BDE (представляет собой совокупность динамических библиотек и драйверов, обеспечивающих доступ к данным.).
Дальнейшее развитие идей двухзвенной архитектуры клиент/сервер привело к появлению трехуровневого (или трехзвенного) варианта архитектуры доступа к серверным базам данных. В этой модели вводится промежуточный уровень между клиентом и сервером, таким образом, выделяются три звена:
Приложение-клиент
Сервер приложений
Сервер БД