КАТЕГОРИИ: Архитектура-(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. обеспечения одновременной безопасной и отказоустойчивой многопользовательской работы с одними и теми же данными.
Дата добавления: 2014-01-15; Просмотров: 3637; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |