Работа с многопользовательскими базами данных

Прикладные науки

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

Распределенные базы данных. В современных распределённых системах информация может храниться централизованно или децентрализованно. В первом случае единый MDB-файл либо несколько отдельных файлов располагаются на сетевом сервере. Преимуществом конфигурации является простота поддержки, поскольку в обновлении нуждается лишь выполняемый файл. Однако, так как все объекты базы данных, ЕХЕ-файлы Access, а также все библиотеки DLL должны передаваться по сети на рабочую станцию, сетевой трафик неоправданно возрастает, а производительность снижается.

Распределённая БД состоит из нескольких фрагментов, размещенных на разных узлах сети (рис. 2).

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

Репликация баз данных. В схеме репликации каждый пользователь имеет собственную копию данных, которые посредством механизма репликации Jet синхронизируются с другими базами данных. Преимущества: полное исключение проблемы блокировки, возможность асинхронного доступа к данным для отключенных от сети пользователей. В целях ограничения доступа к просматриваемым данным в схеме репликации осуществляется фрагментирование. Существует три типа фрагментирования: вертикальный, горизонтальный и комбинированный. При вертикальном фрагментировании разрешается копирование в другую базу данных лишь определенных столбцов (полей). При горизонтальном фрагментировании процесс репликации выполняется с ограничением дублируемых записей путем использования фильтра репликации или с помощью запроса. Комбинированное фрагментирование позволяет ограничить количество дублируемых записей и полей одновременно. Использование репликации приемлемо, если для пользователей скорость поступления данных не имеет первостепенного значения или если отчеты основываются на данных, соответствующих определенному периоду времени. Например, если прикладная программа должна выполняться ежедневно в определенное время, то резервное копирование данных может вызывать недопустимые перебои в работе программы, а использование репликации позволяет создавать копию данных, доступную только для чтения, и обновлять её.

Book-Science
Добавить комментарий