Преимущества и недостатки фрагментации отношений в распределенных БД. 


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



ЗНАЕТЕ ЛИ ВЫ?

Преимущества и недостатки фрагментации отношений в распределенных БД.



Виды фрагментации. Репликация. Понятие согласованного распределенного набора данных. Варианты репликации. Протокол репликации ROWA.

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

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

1. горизонтальная

2. вертикальная

3. смешанная

Горизонтальная фрагментация

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

■ Каждый фрагмент имеет уникальные строки.

■ Все уникальные строки имеют одинаковые атрибуты (столбцы).

■ Каждый фрагмент эквивалентен оператору SELECT с модифицирующим выражением WHERE по единственному атрибуту.

Вертикальная фрагментация

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

■ Каждый фрагмент хранится на отдельном узле.

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

■ Это эквивалентно применению оператора PROJECT.

Смешанная фрагментация

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

Репликация (тиражирование) данных (Data Replication — DR) — это хранение одних и тех же данных (копий) в нескольких узлах.

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

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

Основное понятие — понятие согласованного распределенного набора данных (consistent distributed data set — CDDS). Это набор данных, идентичность которого поддерживается репликатором во всех узлах, вовлеченных в процесс тиражирования. …….

■ CDDS должен подчиняться правилу взаимной непротиворечивости, которое требует, чтобы все копии фрагментов данных были идентичны

Идентичность понимается как одинаковость определения и состава данных:

любое изменение любой копии CDDS автоматически распространяется на все остальные копии; внутри CDDS ни одна копии данных не имеет преимущества перед другой копией — они абсолютно равноправны;’

все объекты, составляющие каждую копию CDDS, имеют одинаковые имена.

■ данные из различных CDDS должны быть взаимно ортогональны, т.е. одни и те же данные не могут входить в различные CDDS;

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

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

Возможны три варианта репликации БД. БД может быть:

1. полностью реплицированной — если копии одного и того же фрагмента данных располагаются на всех узлах сети; все фрагменты реплицированы.

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

3. нереплицированной — каждый фрагмент хранится на отдельном узле. Дублированные фрагменты отсутствуют.

На репликацию влияет несколько факторов:

1. размер БД;

2. частота использования БД;

3. затраты, связанные с синхронизацией транзакций и их частей. Тиражировать можно:

1. всю БД;

2. избранные объекты БД: таблицы или представления;

3. вертикальные проекции объектов БД: избранные столбцы таблиц и/или представлений;

4. горизонтальные проекции объектов БД: избранные строки таблиц и/или представлений;

5. сочетания наборов 2-4.

Когда тиражировать?

■ тиражирование начинается после завершения определенного числа транзакций (в частном случае, после каждой транзакции);

■ тиражирование выполняется через равные промежутки времени или к определенному моменту времени;

■ процесс тиражирования контролируется вручную администратором или созданным пользователем монитором тиражирования.

Протоколы репликации

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

Типичный протокол тиражирования, обеспечивающий сериализуемость по критерию полной эквивалентности копий, известен под названием ROWA (Read-Once/Write-All — одно чтение, запись во все копии).

Задача протокола тиражирования — отобразить операции доступа к некоторому элементу х на множества операций над физическими копиями х (х1, х2…).

Протокол ROWA отображает чтение х Read(x) на операцию чтения какой-либо из копий х Read(xi). Из какой именно копии будет производиться чтение, неважно — этот вопрос может решаться из соображений эффективности. Каждая операция записи в логический элемент данных х отображается на множество операций записи во все физические копии х.

 

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



Поделиться:


Последнее изменение этой страницы: 2017-02-17; просмотров: 285; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

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