logo
Шпора ПРИС для Тани

Фрагментация. Основные концепции фрагментации данных. Виды фрагментации.

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

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

В распределенной системе возможны три вида фрагментации:

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

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

  3. смешанная

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

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

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

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

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

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

Пример.

Предположим, что имеется таблица EMP (сотрудники), в которой есть следующие атрибуты:

EMP_NUM

EMP_SURNAME

EMP_DATA

EMP_ADDRESS

EMP_DEPARTMENT

EMP_SALARY

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

Руководству компании необходима информация о сотрудниках по каждому подразделению (DEPARTMENT) компании: Минск, Киев, Москва. Но каждому подразделению компании необходима информация только по своим локальным сотрудникам.

На основе этого было принято решение распределить данные по подразделениям. Поэтому для реализации структуры выбрали горизонтальную фрагментацию.

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

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

Отделу обслуживания – по атрибутам EMP_SURNAME, EMP_DATA, EMP_ADDRESS, EMP_DEPARTMENT

Отделу приема платежей – по атрибуту EMP_SALARY.

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