Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
108132_DE4F5_shpory_po_predmetu_baza_dannyh.doc
Скачиваний:
11
Добавлен:
30.07.2019
Размер:
125.95 Кб
Скачать

В18.Распределённые бд и управление распределённой информацией.

РаБД- это некоторое приложение, выполняющее в одной компл-ной системе и осущ-ее в разл.моменты времени доступ к данным нескольких различных удалённых БД.

Места,где находятся единичная БД наз-ся узлами. Различают однородные и неоднородные модели РаБД.

В однородных моделях на всех узлах нах-ся одинаковые СУБД, д\построения таких моделей исп-ся метод сверху-вниз.

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

Фрагментация – это декомпозиция объектов БД на 2 или более частей,кот.размещаются на разных компьютерных системах.

Различают вертикальную и горизонтальную фрагментацию.

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

Сущ-т несколько моделей тиражирования:

А)одновременное обновление, когда обновляются все копии,

Б) распространительное обновление,т.е. обновляется первый дубликат, а от него остальные.

В) запланированная синхронизация дубликатов, только для чтения. Здесь обновляются1ый дубликат, а от него все остальные, кот.исп-ся только для чтения.

В неоднородных РаБД в узлах м\находиться различные модели БД и след-но Расличные СУБД.

Д\упрощения разработки распред.неоднородности используют технологию клиент-сервер.

Существует 2х уровневый клиент-сервер и многоуровневый.

В 2х уровневом сервер не только обеспечивает доступ к данным, но и берёт на себя функции обработки данных.Клиент отправляет на сервер запрос на чтение или изм-е данных.Сервер сам выполняет все необходимые изм-я или выборку, а результаты в виденабора данных или кода возврата отправляет на комп-клиент.

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

В19.Оперативная обработка транзакции

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

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

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

  1. Записать намерение произвести некоторые операции

  2. Выполнить задание, копируя оригиналы изменяемых страниц в сегмент отката

  3. Записать, что всё сделано без ошибок

Журнал транзакций в сочетании с сегментом отката (область, в которой хранится копия всех изменяемых в ходе транзакции данных) гарантирует целостность данных. В случае сбоя запускается процедура восстановления, которая просматривает отдельные его записи следующим образом:

Если повреждена запись, то сбой произошёл во время проставления отметки в журнале. Значит, ничего важного не потерялось, игнорируем эту ошибку.

Если все записи помечены как успешно выполненные, то сбой произошёл между транзакциями, здесь также нет потерь.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]