Информационные системы в локальных сетях
Тупики
Если не управлять доступом к совместно используемым объектам, то между пользователями ресурсов могут возникнуть тупиковые ситуации (клинчи, «смертельные объятия» или блокировки).
Существует два основных вида тупиков: взаимные (deadlock) и односторонние (livelock).
Случай взаимного тупика – каждый из двух пользователей стремится захватить данные, уже захваченные другим пользователем (рис. 5.8а). В этой ситуации Пользователь-1 ждет освобождения ресурса N, в то время как Пользователь-2 ожидает освобождения от захвата ресурса M. Следовательно, никто из них не может продолжить работу.
Пример более сложной тупиковой ситуации приведен на рис. 5.8б.
Односторонний тупик возникает в случае требования получить монопольный доступ к некоторому ресурсу, как только он станет доступным и невозможности удовлетворить это требование.
Системы управления распределенными базами данных должны иметь соответствующие средства обнаружения или предотвращения конфликтов, а также разрешения возникающих конфликтов. При этом важно не только сохранить целостность и достоверность данных в распределенных БД, но и восстановить вычислительный процесс.
Захват Требование
Ресурса ресурса
M N M N Q
А) Б)
Рис. 5.8. Примеры взаимных тупиков в распределенных базах данных
В локальной вычислительной сети персональных ЭВМ выделяют три варианта создания информационной системы:
o Типа файл-сервер;
o Типа клиент-сервер;
o Основанные на технологии интранет.
Информационную систему типа файл-сервер можно построить двумя способами:
o С использованием несетевых СУБД, предназначенных для применения на отдельной машине;
o С использованием сетевых СУБД, разрабатываемых для применения в локальной вычислительной сети.
Под сетевой СУБД понимается система с произвольной моделью данных (не обязательно сетевой), ориентированная на использование в сети.
Программы несетевой СУБД и используемые ими данные могут храниться на компьютере-сервере (КС) и на компьютере-клиенте (КК).
Если несетевая СУБД и данные хранятся на компьютере-клиенте, то режим ее работы не отличается от работы на отдельной ПЭВМ. Если данные хранятся на компьютере-сервере, то файловая система сетевой операционной системы «незаметно» для СУБД выполняет подгрузку нужного файла с удаленного компьютера.
Если несетевая СУБД используется несколькими пользователями сети, то ее программы, а также базу данных или ее часть в целях экономии дисковой памяти эффективнее хранить на компьютере-сервере. База данных, хранимая на компьютере-сервере, называется центральной БД (ЦБД), а хранимая на компьютере-клиенте – локальной БД (ЛБД). При запуске такой СУБД на каждый компьютер-клиент пересылается полная копия основной программы СУБД и один или несколько файлов ЦБД (рис. 5.9). После завершения работы файлы центральной базы данных пересылаются с компьютера-клиента обратно на компьютер-сервер для согласования данных.
Недостаток применения несетевых СУБД – возможность нарушения целостности данных при одновременной работе с одной базой данных нескольких пользователей. Так как каждая копия СУБД функционирует, «не зная» о работе других копий, то никаких мер по исключению возможных конфликтов не принимается.
Примеры несетевых СУБД: dBase III Plus, dBase IV и FoxBase.
хранение
копирование физические
соединения