Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Лекция 3. Клиент-серверные базы данных

Перечисленных выше недостатков в большинстве лишены СУБД, построенные на архитектуре клиент-сервер (рис. 3). Характерной особенностью этой архитектуры есть максимальная разгрузка клиента, перенесения вычислительной нагрузки на сервер БД(SQL-сервер), а также существенное укрепление безопасности данных — как от злонамеренных, так и от ошибочных изменений.

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

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

 

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

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

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

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

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

Дале приведенные преимущества архитектуры клиент-сервер.

• Большинство вычислительных процессов выполняется на сервере, который снижает потребности к вычислительным мощностям компьютера клиента; увеличенном вычислительной мощности одного сервера эквивалентное одновременному увеличению мощности всех клиентских мест.

• Снижается сетевой трафик за счет пересылки сервером клиентским применением только тех данных, которые они спрашивали.

• БД на сервере представляют собой, как правило, единый файл, в котором находятся таблицы, ограничения целостности и прочие компоненты БД:

- сломать, похитить ли испортить такую БД значительно сложнее;

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

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

• Сервер реализует управления транзакциями и отклоняет попытки одновременного изменения одних и одних и тех же данных; разные равные изоляции транзакций разрешают определить поведение сервера в этом случае.

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

Для реализации архитектуры клиента-сервер используют так называемые промышленные серверы баз данных, такие как InterBase, Огасlе, Informix, Sybase, SQL Server, DВ2, МS SQL Server.

Промышленными называются СУБД для сохранения и выдачи больших объемов данных в условиях одновременной работы по БД многих клиентских приложений.

В дальнейшем примеры реализации архитектуры клиент-сервер будут приведены для сервера InterBase.

Таким образом, функциями приложения-клиента есть:

1. посылка запросов к серверу БД;

2. интерпретация результатов запросов, полученных от сервера, и представление их пользователю в нужной форме;

3. реализация интерфейса пользователя.

SQL-сервер - это программа, размещенная на компьютере сетевого сервера. SQL-сервер должен быть загружен на момент принятия запроса от клиента.

Функциями сервера БД являются:

1. прием запросов от приложений-клиентов, интерпретация запросов, выполнения запросов БД, отправка результатов выполнения запроса приложению-клиенту;

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

3. сохранения бизнес-правил и запросов, которые часто используются приложениями в уже в интерпретированном виде;

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

<== предыдущая лекция | следующая лекция ==>
Локальные БД | Лекция 4. Архитектура с сервером приложений
Поделиться с друзьями:


Дата добавления: 2014-01-15; Просмотров: 3532; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.017 сек.