Особенности проектирования распределенных БД. Проблемы обеспечения целостности в распределенных БД. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Особенности проектирования распределенных БД. Проблемы обеспечения целостности в распределенных БД.



Распределенная база данных (РБД) - система логически интегрированных и территориально распределенных БД, языковых, программных, технических и организационных средств, предназначенных для создания, ведения и обработки информации.

Это означает, что информация физически хранится на разных ЭВМ, связанных сетью передачи данных. Любой узел (участок) может выполнять приложение и участвовать в работе по крайней мере одного приложения.

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

Дополнительными специфическими требованиями являются:

1) ЯОД (язык описания данных) в рамках схемы должен быть один для всех локальных БД;

2) доступ должен быть коллективным к любой области РБД с соответствующей защитой информации;

3) подсхемы должны быть определены в месте сосредоточения алгоритмов (приложений, процессов) пользователя;

4) степень централизации должна быть разумной;

5) необходимы сбор и обработка информации об эффективности функционирования РБД

Возможны четыре стратегии хранения данных: централизованная (часто обеспечиваемая архитектурой клиент/сервер), расчленение (фрагментации), дублирование, смешанная.

Стратегии хранения данных в РБД

-Централизация (в том числе технология клиент/сервер).Единственная копия БД в одном узле. Простота структуры. Скорость обработки ограничивается одним узлом. Долговременная память обеспечивает объем БД. Ограниченный доступ. Малая надежность.

-Локализация (расчленение) Единственная копия, расчлененная по узлам (полная копия БД не допускается) Объем БД определяется памятью сети. Снижение стоимости РБД. Время отклика при параллельной обработке уменьшается. Малая чувствительность к узким местам. Повышенная надежность при высокой локализации ссылок. Запрос может быть не по всем узлам (затраты на связь больше при централизации). Доступ может быть хуже, чем при централизации.

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

-Смешанная Несколько копий хранимого логического фрагмента в каждом узле. Любая степень надежности. Большая доступность. Меньше пересылок. Параллельная обработка.

Надо хранить словари. Рост стоимости согласованных копий. Разная частота обращения узла к различным частям БД. Потеря надежности из-за расчленения. Мала свободная долговременная память.

Транзакция – упорядоченный набор действий с РБД, который либо полностью успешно выполняется, либо не выполняется вообще.

Существует три проблемы обеспечения целостности данных в РБД

Две транзакции пытаются обновить одну и ту же запись в РБД своими данными = проблема Потери результатов обновления

Проблема зависимости от незафиксированной транзакции – когда одна транзакция читает обновленные данные другой транзакции, которые были не зафиксированы в РБД.

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

Способ решения проблем – блокировка записи РБД на всех копиях этой записи.

 

Особенности работы с базами данных в многопользовательском режиме.

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

Организация структуры БД формируется исходя из следующих соображений:

Адекватность описываемому объекту/системе — на уровне концептуальной и логической модели.

Удобство использования для ведения учёта и анализа данных - на уровне так называемой физической модели.

По виду модели БД разделяются на: Картотеки; Сетевые; Иерархические; Реляционные; Объектно-ориентированные; Многомерные; Дедуктивные.

Многопользовательский режим - режим доступа к ресурсам операционной системы и прикладным программам, при котором к данным ресурсам и приложениям могут обращаться несколько пользователей в один и тот же момент времени.

Проблемы:

Проблема утраченных (потерянных) обновлений заключается в том, что если пользователи одновременно обновляют одни и те же данные, то запомненным будет то обновление, которое было проведено последним. Остальные обновления будут потеряны.

Зависимость от незафиксированных обновлений состоит в том, что пользователь А может увидеть данные, которые уже были обновлены пользователем В, но эти обновления еще не были окончательно зафиксированы. Далее пользователь В может в силу различных причин провести откат базы данных в исходное состояние. Пользователь А в этом случае будет предпринимать действия над ошибочными данными («преждевременное чтение»).

Если пользователь проводит какую-то групповую обработку данных, не связанную с корректировкой данных (например, вычисляет сумму), а какие-то значения обрабатываемого множества в этот момент претерпевают изменения из-за выполнения параллельной транзакции:

При изменении существующих записей – неповторяющееся чтение

При вставке новой записи – фантомная вставка.

Проблемы, возникающие при одновременном обращении, нуждаются в своем разрешении.

Блокировки

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

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

Режимы доступа к информации

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

Выбор вида блокировки и информационной единицы, к которой она относится зависит от того, какая операцыя выполняется, как много таких операций, каковы ограничения по времени выполнения обработки.

Использование хранимых процедур и триггеров для контроля целостности БД

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

Другой способ выполнения некоторых стандартных для данной прикладной области операций – использование триггеров. Триггеры срабатывают каждый раз, когда выполняется заданная операция над заданной таблицей.

 



Поделиться:


Последнее изменение этой страницы: 2016-08-14; просмотров: 737; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.224.63.87 (0.008 с.)