Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Особенности проектирования распределенных БД. Проблемы обеспечения целостности в распределенных БД.Содержание книги
Поиск на нашем сайте Распределенная база данных (РБД) - система логически интегрированных и территориально распределенных БД, языковых, программных, технических и организационных средств, предназначенных для создания, ведения и обработки информации. Это означает, что информация физически хранится на разных ЭВМ, связанных сетью передачи данных. Любой узел (участок) может выполнять приложение и участвовать в работе по крайней мере одного приложения. Большинство требований, предъявляемых к РБД, аналогично требованиям к централизованным БД, но их реализация имеет свою, рассматриваемую ниже специфику. В РБД иногда полезна избыточность. Дополнительными специфическими требованиями являются: 1) ЯОД (язык описания данных) в рамках схемы должен быть один для всех локальных БД; 2) доступ должен быть коллективным к любой области РБД с соответствующей защитой информации; 3) подсхемы должны быть определены в месте сосредоточения алгоритмов (приложений, процессов) пользователя; 4) степень централизации должна быть разумной; 5) необходимы сбор и обработка информации об эффективности функционирования РБД Возможны четыре стратегии хранения данных: централизованная (часто обеспечиваемая архитектурой клиент/сервер), расчленение (фрагментации), дублирование, смешанная. Стратегии хранения данных в РБД -Централизация (в том числе технология клиент/сервер).Единственная копия БД в одном узле. Простота структуры. Скорость обработки ограничивается одним узлом. Долговременная память обеспечивает объем БД. Ограниченный доступ. Малая надежность. -Локализация (расчленение) Единственная копия, расчлененная по узлам (полная копия БД не допускается) Объем БД определяется памятью сети. Снижение стоимости РБД. Время отклика при параллельной обработке уменьшается. Малая чувствительность к узким местам. Повышенная надежность при высокой локализации ссылок. Запрос может быть не по всем узлам (затраты на связь больше при централизации). Доступ может быть хуже, чем при централизации. -Дублирование(Тиражирование) В каждой локальной БД - полная копия РБД. Выше надежность, доступность и эффективность выборки, простота восстановления. Локальная асинхронная обработка данных в узлах. Получение быстрых ответов. Объем БД ограничен долговременной памятью. Синхронизация многих копий. Дополнительная память. Слабая реализация параллельной обработки. -Смешанная Несколько копий хранимого логического фрагмента в каждом узле. Любая степень надежности. Большая доступность. Меньше пересылок. Параллельная обработка. Надо хранить словари. Рост стоимости согласованных копий. Разная частота обращения узла к различным частям БД. Потеря надежности из-за расчленения. Мала свободная долговременная память. Транзакция – упорядоченный набор действий с РБД, который либо полностью успешно выполняется, либо не выполняется вообще. Существует три проблемы обеспечения целостности данных в РБД Две транзакции пытаются обновить одну и ту же запись в РБД своими данными = проблема Потери результатов обновления Проблема зависимости от незафиксированной транзакции – когда одна транзакция читает обновленные данные другой транзакции, которые были не зафиксированы в РБД. Проблема несогласованной обработки данных состоит в возможности двух транзакций при обновлении одних и тех же данных получать промежуточные значения, которые не изменяются при изменении данных, из которых они были получены. Способ решения проблем – блокировка записи РБД на всех копиях этой записи.
Особенности работы с базами данных в многопользовательском режиме. База Данных (БД) — структурированный организованный набор данных, описывающих характеристики какой-либо физической или виртуальной системы. Нужно различать набор данных (собственно БД) и программное обеспечение, предназначенное для организации и ведения баз данных (СУБД). Организация структуры БД формируется исходя из следующих соображений: Адекватность описываемому объекту/системе — на уровне концептуальной и логической модели. Удобство использования для ведения учёта и анализа данных - на уровне так называемой физической модели. По виду модели БД разделяются на: Картотеки; Сетевые; Иерархические; Реляционные; Объектно-ориентированные; Многомерные; Дедуктивные. Многопользовательский режим - режим доступа к ресурсам операционной системы и прикладным программам, при котором к данным ресурсам и приложениям могут обращаться несколько пользователей в один и тот же момент времени. Проблемы: Проблема утраченных (потерянных) обновлений заключается в том, что если пользователи одновременно обновляют одни и те же данные, то запомненным будет то обновление, которое было проведено последним. Остальные обновления будут потеряны. Зависимость от незафиксированных обновлений состоит в том, что пользователь А может увидеть данные, которые уже были обновлены пользователем В, но эти обновления еще не были окончательно зафиксированы. Далее пользователь В может в силу различных причин провести откат базы данных в исходное состояние. Пользователь А в этом случае будет предпринимать действия над ошибочными данными («преждевременное чтение»). Если пользователь проводит какую-то групповую обработку данных, не связанную с корректировкой данных (например, вычисляет сумму), а какие-то значения обрабатываемого множества в этот момент претерпевают изменения из-за выполнения параллельной транзакции: При изменении существующих записей – неповторяющееся чтение При вставке новой записи – фантомная вставка. Проблемы, возникающие при одновременном обращении, нуждаются в своем разрешении. Блокировки Наиболее популярные алгоритмы управления одновременным доступом основаны на механизме блокировок. Блокировка заключается в запрещении некоторых операций над данными, если ее обрабатывает другой пользователь. Каждый раз, когда транзакция пытается получить доступ к какой-либо единице данных, на эту единицу накладывается блокировка. Блокировки накладываются в соответствии с правилами совместимости блокировок, исключающими конфликты чтение-запись, запись-чтение. Правило двухфазного блокирования: «Ни одна блокировка от имени какой-либо транзакции не должна устанавливаться, пока не будет снята ранее установленная блокировка». Режимы доступа к информации При работе в многопользовательской среде файлы могут быть открыты в одном из режимов – разделяемом или исключительном. При исключительном (монопольном, эксклюзивном) режиме доступа с данной информационной единицей может работать только тот пользователь, который первым открыл файл (блокировка типа X). Разделяемый режим – блокировка с взаимным доступом (типа S). Исключительные блокировки используются для операторов, изменяющих структуру таблицы или значения тех или иных полей. Выбор вида блокировки и информационной единицы, к которой она относится зависит от того, какая операцыя выполняется, как много таких операций, каковы ограничения по времени выполнения обработки. Использование хранимых процедур и триггеров для контроля целостности БД На практике встречается ситуация, когда один и тот же запрос выполняется многократно. Для сокращения времени выполнения таких запросов можно использовать хранимые процедуры. При этом запрос в оттранслированном виде хранится на сервере и при возникновении потребности в обработке данных на сервер передается не весь текст запроса, а только обращение к соответствующей процедуре. Другой способ выполнения некоторых стандартных для данной прикладной области операций – использование триггеров. Триггеры срабатывают каждый раз, когда выполняется заданная операция над заданной таблицей.
|
||
|
Последнее изменение этой страницы: 2016-08-14; просмотров: 909; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.198 (0.007 с.) |