Архитектура клиент-сервер и базы данных Серверные СУБД. Работа с наборами данных и с отдельными записями в серверных СУБД. Защита данных в серверных СУБД.

Презентация:



Advertisements
Похожие презентации
Учебный курс Технологии и средства разработки корпоративных систем Лекция 1 Открытые системы. Клиент и сервер Лекции читает кандидат технических наук,
Advertisements

Администрирование информационных систем Лекция 4. Система управления базами данных.
Раздел 3 Сетевые модели. Тема 3.1 Понятие сетевой модели. Архитектура сети определяет основные элементы сети, характеризует ее общую логическую организацию,
Выполнила студентка группы ТУ-501 Полозова Ю.О. База данных (БД) представляет собой совокупность структурированных данных, хранимых в памяти вычислительной.
1 Современные системы программирования. Часть 2. Системное и прикладное программное обеспечение Малышенко Владислав Викторович.
М одели распределенных баз данных. Корпоративные (или intranet) сети являются сетями уровня предприятия, которые можно подключать к сети Internet. Они.
Распределенная обработка информации Разработано: Е.Г. Лаврушиной.
Организация распределенных прикладных систем. Попытаемся ответить на вопросы Как устроены распределенные прикладные системы? Каковы наиболее важные их.
Сетевые службы Для конечного пользователя сеть это не компьютеры, кабели и концентраторы и даже не информационные потоки, для него сеть это, прежде всего,
Технология модели «клиент-сервер». Роли Компьютер, управляющий тем или иным ресурсом, принято называть сервером этого ресурса Компьютер, желающий воспользоваться.
Распределенная обработка данных Различные модели в технологии баз данных.
Архитектура клиент-сервер. Back Office Systems До недавних пор разрабатываемые прикладные системы (или приложения) были нацелены на решение основных потребностей.
На сегодняшний день в мире существует более 130 млн. компьютеров и более 80 % из них объединены в различные информационно- вычислительные сети - от малых.
Программное обеспечение за полвека своего существования претерпело огромные изменения, пройдя путь от программ, способных выполнять только простейшие.
Администрирование RAS серверов. RAS (Remote Access Server) сервер – это сервер удаленного доступа. Используется для соединения компьютеров по коммутируемым.
Лекция 22 Лекция 22 Локальные, сетевые и распределенные базы данных. Архитектура «файл- сервер». Двух и трехуровневая архитектура «клиент-сервер». Модель.
Локальная сеть Типы локальных сетей Топология сетей.
Разработала Детёнышева Е. С. преподаватель специальных дисциплин Москва 2012 год.
Операционная система Windows. История её развития и применение Разработчик – ученица.
1. Теоретические основы операционных систем (планирование заданий и использования процессора, обеспечение программ средствами коммуникации и синхронизации,
Транксрипт:

Архитектура клиент-сервер и базы данных Серверные СУБД. Работа с наборами данных и с отдельными записями в серверных СУБД. Защита данных в серверных СУБД. Методы блокировки записей. Целостность данных. Транзакции. Язык SQL и его роль в технологии клиент-сервер.

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

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

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

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

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

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

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

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

Серверы реляционных и не реляционных баз данных могут быть различного вида и масштабов. Большинство программ-серверов баз данных - такие как Oracle7 и Sybase System 11 - выполняются на выделенных машинах. При этом серверы баз данных работают на разнообразных процессорах и в различных операционных средах. Следовательно, у создателей систем клиент-сервер имеется выбор для удовлетворения потребностей прикладных программ. Oracle, например, работает на большинстве RISC- и CISC-ориентированных Unix-системах, включая HP/UX фирмы Hewlett-Packard и Solaris компании Sun. Кроме того, Oracle выполняется на серверах, использующих процессоры Intel под управлением SCO Unix и Netware компании Novell.

Некоторые изготовители серверов баз данных, такие как компании Borland (Interbase) и Sybase (SQL Server), предоставляют версии своих серверов для запуска на системах-клиентах (например, в процессах Microsoft Windows 3.1 или Windows 95). Это позволяет разработчику систем клиент-сервер создавать клиентскую часть программ, избежав необходимости немедленной покупки отдельного сервера баз данных.

Серверы реляционных баз данных (известные также как SQL- серверы или SQL-процессоры) составляют большинство применяемых в настоящее время серверов. Однако, в нескольких секторах рынка их догоняют объектно- ориентированные и многомерные серверы баз данных. Серверы объектно-ориентированных баз данных, такие как GemStone компании GemStone Systems, хранят информацию в форме объектов, что больше подходит для средств разработки программ-клиентов, которые работают с чисто объектной моделью. Более того, в объектно-ориентированных СУБД лучше, чем в реляционных, организовано хранение сложных структур данных. Серверы многомерных баз данных, такие как Essbase Analysis Server фирмы Arbor Software Corp., обеспечивают более понятное конечным пользователям представление данных и обладают новыми средствами оперативного анализа (OLAP).

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

Две другие важные особенности, на которые стоит обратить внимание, - способность сервера обеспечивать целостность ссылочных данных и обоюдный контроль завершения транзакции. Ссылочная целостность данных (referential integrity) - это механизм, обеспечивающий каждому внешнему ключу соответствующий первичный ключ. Обоюдный контроль завершения транзакций (two-phase commit) - гарантия того, что ваши данные не будут повреждены даже при аппаратном сбое.

С помощью хранимых процедур, триггеров и правил разработчики могут составить программу непосредственно самого сервера баз данных и, таким образом, появляется еще одно место для размещения логики программы. Хранимые процедуры (stored procedures) - это группа предложений на языке SQL и процедурная логика, которые разработчики могут компилировать и хранить на сервере баз данных в качестве объектов. Программы-клиенты способны выполнять хранимые процедуры, также как и другой вид хранимых процедур или триггеров, путем посылки сообщений серверу баз данных. Триггеры (triggers) - это хранимые процедуры, которые активизируются автоматически, как только серверу баз данных встречается связанное с данными событие. Правило (rule) - это специальный тип триггера, который проверяет данные до внесения их в базу данных. Большая часть имеющихся на данный момент хранимых процедур, триггеров и правил обладает весьма узкой специализацией и отличающимися возможностями. SQL Server способен запускать только один триггер для операции вставки, в то время как CA-OpenIngres обеспечивает работу нескольких триггеров. Более того, расширения процедур SQL у разных изготовителей разные.