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