
«Организация многопользовательского доступа к данным. Распределенные информационные системы.
Публикация баз данных в Internet»
Содержание:
Введение…………………………………………………………………………...3
Организация многопользовательского доступа к данным……………………..4
Распределенные информационные системы………………………………..…11
Публикация баз данных в Internet…………………………………………..….15
Заключение……………………………………………………………………….18
Список используемой литературы……………………………………………...19
Введение
В наш век обмен информацией немыслим без современных средств связи. Одно из таких средств – современные глобальные компьютерные сети. Сети - важная часть группового взаимодействия, так как они позволяют быстро и эффективно обмениваться информацией. Но реальные сети имеют недостатки. Распределенная сеть представляет собой крайне неоднородную среду передачи данных: одни участки могут быть построены по технологиям ATM или FDDI, другие - на базе медленных протоколов X.25. Реальная скорость передачи данных в такой среде будет напрямую зависеть от пропускной способности самого медленного участка сети. Таким образом, доступ удаленного пользователя к корпоративной базе данных иногда может быть существенно затруднен. Но с другой стороны, организация распределенной базы данных дает массу преимуществ: снижается время отклика системы, повышается надежность хранения данных, уменьшается стоимость аппаратной части за счет снижения объемов данных, хранящихся на одном сервере.
Также развитие Интернета и СУБД предоставляют дополнительные возможности по использованию информационных ресурсов сети. Одним из способов представления данных в сети является публикация баз данных.
Таким образом, сегодня мы являемся свидетелями бурного развития информационных технологий, когда компьютеры используются практически во всех областях, с которыми люди имеют дело.
Внедрение автоматизированных систем для учета деятельности налоговых органов позволяет существенно повысить оперативность и достоверность обработки информации.
Организация многопользовательского доступа к данным.
Естественным следствием развития СУБД является проблема организации совместной работы нескольких пользователей с одной и той же совокупностью данных, или, кратко, проблемы многопользовательского доступа к данным. Прежде всего ситуация разделения одной и той же совокупности данных между несколькими пользователями может приводить к возникновению конфликтов (попытка единовременного изменения одной и той же записи, совпадение операций чтения и удаления информации и т. д.).
Если для приложения не предусмотрено эффективное решение вопросов работы в многопользовательской среде, при работе с ним неизбежно будут возникать следующие проблемы:
Новые записи не сохраняются. После ввода информации пользователь обнаруживает, что в базе данных она не появилась. Если подобная ошибка не повторяется, это говорит не об отсутствии проблемы, а о ненадежности приложения.
Изменения существующих записей не сохраняются. Пользователь может даже не заметить, что внесенные им изменения не сохранились. Однако в дальнейшем может оказаться, что-либо таблица итоговых данных отсутствует, либо в инвентарном списке слишком много элементов, или может случиться так, что заказ важного клиента будет отправлен по неверному адресу. Подобные серьезные проблемы вполне могут оказаться не выявленными вовремя. Как правило, от них страдают посторонние люди.
Пользователи получают невразумительные сообщения о невозможности обеспечить доступ к данным. Хотя последствия подобного рода неприятностей не столь драматичны, как в предыдущих случаях, для пользователя будет сильным разочарованием необходимость работы с приложением, которое не может справиться даже с такой несложной проблемой.
С точки зрения организации совместного доступа к данным со стороны нескольких пользователей режимы работы с ними делятся на режим монопольного (эксклюзивного) доступа и режим общего (разделенного) доступа.
Режим монопольного доступа к базе данных предусматривает, что только один из пользователей (программных процессов) может работать с ней, а возможность ее открытия другими пользователями (процессами) блокируется. Открытие базы данных в монопольном режиме, как правило, используется для выполнения операций по изменению структуры таблиц и связей между ними, экспорта большого количества информации, выполнения служебных операций с данными (сохранение, восстановление, сжатие) и т. п.
Соответственно, в режиме разделенного доступа сразу несколько пользователей могут работать с базой данных. Для предотвращения возможных конфликтов при попытках со стороны различных пользователей изменить одни и те же записи в СУБД используется механизм блокировок. Блокировка того или иного объекта в случае работы с ним какого-либо пользователя означает предотвращение любых других попыток изменить этот объект, но при этом сохраняется возможность его чтения. Таким образом, механизм блокировок предоставляет более гибкие возможности для манипуляций с данными по сравнению с режимом монопольного доступа.
Для различных СУБД конкретные технические решения по реализации аппарата блокировок существенно различаются. В MS Access, в частности, при изменении записи одним пользователем по умолчанию происходит ее автоматическая блокировка вплоть до момента завершения операции. При создании форм, отчетов или запросов в Access предусмотрены возможности задания параметров режима блокировки. На рис. 1 показан процесс изменения свойства Блокировка записей для формы.
Рис. 1 Задание режима блокировки для данных, доступных из формы
Как видно из рисунка, свойство Блокировка записей может принимать значения:
- Отсутствует - допускается одновременное изменение записей со стороны нескольких пользователей. При этом если два пользователя пытаются сохранить произведенные изменения в одной и той же записи, то второму пользователю выводится предупреждающее сообщение, на основе которого он может либо отказаться от дальнейших действий, либо заместить изменения, сделанные первым пользователем, сохранив собственный вариант. Очевидно, что в таком режиме сохраняется максимальная свобода действий пользователей, "платой" за которую являются возможные конфликты ввиду несогласованности их действий;
- Всех записей - происходит блокировка всех записей в источнике данных при его открытии одним из пользователей, в результате чего он может беспрепятственно изменять его. Другие пользователи имеют доступ только на чтение (просмотр);
- Изменяемой записи - один из пользователей получает доступ на изменение нужной ему записи, а другие пользователи могут только читать содержащиеся в ней данные. Данный режим накладывает минимальные ограничения на совместную работу. Следует добавить, что технически в Access блокируются не записи как таковые, а так называемые страницы - блоки файла базы данных размером 2048 байт, содержащие нужные записи.
Отмена блокировки в Access происходит тогда, когда пользователь, ранее блокировавший запись, либо сохранит произведенные изменения, либо откажется от них. Для того чтобы изменения, производимые одним пользователем, становились видны другим, через определенные интервалы времени предусмотрено автоматическое обновление содержания таблиц, форм и отчетов. Значение периода обновления задается из меню Сервис > Параметры, вкладка Другие, поле Период обновления.
Расположение БД в значительной степени влияет на разработку приложения, обрабатывающее данные, содержащиеся в этой базе. В зависимости от расположения таблиц и приложений, БД могут быть:
• Локальными
• Удаленными
Локальные БД расположены на том же самом компьютере, что и приложения, работающие с ними. Работа с БД происходит, как правило, в однопользовательском режиме. При необходимости можно запустить на компьютере другое приложение, одновременно осуществляющее доступ к этим же данным. Для управления совместным доступом к БД необходимы специальные средства контроля и защиты. Эти средства могут понадобиться, например, в том случае, когда приложение пытается изменить запись, которую редактирует другое приложение. Каждая БД любой модели осуществляет подобный контроль своими способами и обычно имеет встроенные средства разграничения доступа.
Рис. 2 Локальная БД
При использовании локальной БД в сети возможна организация многопользовательского доступа к ней. В этом случае файлы БД и приложение, предназначенное для работы с этой БД, располагаются на сервере сети. Каждый пользователь может запускать приложение, находящееся на сервере, при этом на компьютере пользователя запускается копия приложения. Такой вариант использования локальной БД соответствует архитектуре файл-сервер.
Рис. 3 Архитектура файл-сервер
Архитектура файл-сервер обычно используется в таких сетях, где имеется немного компьютеров. Для ее реализации предназначены персональные СУБД, например, Paradox или dBase. Достоинствами архитектуры файл-сервер являются простота реализации, а так же то, что приложение фактически разрабатывается в расчете на данного пользователя, поэтому не зависит от компьютера сети, на который оно устанавливается.
Однако организация файл-сервер имеет и существенные недостатки:
• Возникает необходимость синхронизации работы отдельных пользователей, связанная с блокировкой в таблицах тех записей, которые редактирует другой пользователь;
• Управление БД осуществляется с разных компьютеров, поэтому затруднена организация контроля доступа, соблюдения конфиденциальности и поддержание целостности БД;
Удаленная БД размещается на компьютере-сервере сети, а приложение, работающее с этой БД, находится на компьютере пользователя. В этом случае речь идет об архитектуре клиент-сервер. Информационная система состоит из неоднородных частей – сервер и клиент БД. Компьютер-сервер также называется удаленным сервером.
Рис. 4 Архитектура клиент-сервер
Для получения данных приложение-клиент формирует и отсылает запрос удаленному серверу, на котором размещена БД. Запрос формируется на языке SQL, который является стандартным средством доступа к серверу при использовании реляционных БД. После получения запроса удаленный сервер направляет его SQL- серверу (серверу баз данных). SQL-сервер – это программа, которая управляет удаленной БД и обеспечивает выполнение запроса и выдачу клиенту его результатов. Вся обработка запроса выполняется на удаленном сервере.
Достоинствами такой архитектуры являются:
• Низкая нагрузка на сеть, в которой циркулирует только нужная информация;
• Безопасность информации, т.к. обработка запросов всех клиентов выполняется единой программой, расположенной на сервере;
• В клиентских приложениях отсутствует код, обеспечивающий управление базой данных и разграничением доступа к ней.
Для реализации архитектуры клиент-сервер обычно применяются многопользовательские СУБД, например, Oracle или Microsoft SQL Server. Подобные СУБД также называют промышленными, т.к. они позволяют организовать информационную систему, состоящую из большого числа пользователей. Доступ к этим СУБД осуществляется с помощью драйверов SQL-Links.
а б
Рис. 5 Принципиальная схема технологий файл-сервер(a) и клиент- сервер(b)