Виды декомпозиций. Декомпозиция без потерь

         

Разработка распределённых баз данных


Разработка централизованной реляционной БД делится на три этапа проектирования:

1. Концептуальное проектирование

– создание концептуального представления БД, включающее определение типов важнейших сущностей и существующих между ними связей.

2. Логическое проектирование

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

3. Физическое проектирование

– принятие решений о том, как логическая модель будет физически реализована в БД, создаваемой с помощью выбранной СУБД.

Рассмотрим ряд дополнительных факторов, которые должны учитываться при разработке распределенных БД:

1. Фрагментация – любое отношение может быть разделено на некоторое количество частей, называемых фрагментами, которые затем распределяются по различным сайтам. Существует 2 основных типа фрагментов: горизонтальные и вертикальные. Горизонтальные - подмножества кортежей, вертикальные – подмножества атрибутов.

2. Распределение – каждый фрагмент сохраняется на сайте, выбранном с учетом «оптимальной» схемы их размещения.

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

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

1) Частота запуска приложения на выполнение.

2) Сайт, на котором запускается приложение.

3) Требования к производительности транзакций и приложений.

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

Цели фрагментации:

1) Локальность ссылок - данные должны храниться как можно ближе к местам их пользования.

2) Повышение надежности и доступности за счет использования механизма репликации.

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

4) Баланс между емкостью и стоимостью внешней памяти.

5) Минимизация расходов на передачу данных.



Содержание раздела