Горизонтальная и вертикальная фрагментация в распределенных системах управления базами данных (DDBMS) - PullRequest
14 голосов
/ 25 апреля 2011

В контексте DDBMS, в чем разница между Вертикальная фрагментация и Горизонтальная фрагментация ?

Это так, что расширение отношения фрагментировано для вертикальной фрагментации, а фрагментация по интенсивности является горизонтальной фрагментацией?

Ответы [ 8 ]

35 голосов
/ 17 июня 2011

Предположим, у вас есть отношение, ученик.

Вы делите отношение ученика на два набора (назовите их set1 и set2) так, что половина атрибутов Student находится в set1, а половина - в set2.Это называется «вертикальная фрагментация», поскольку отношение фрагментировано вдоль столбцов (аналогично разрыву страницы по вертикали).Исходное отношение получается путем естественного объединения всех множеств.Для естественного объединения нам требуется по крайней мере один атрибут, который является общим для всех наборов (обычно это первичный ключ).

Но если наше отношение разделено так, что поднабор строк (см. Здесь присутствуют все атрибуты)в строках) присутствует с site1 (например), другое подмножество присутствует с site2, и так далее, это называется «горизонтальной фрагментацией», и исходное соотношение получается путем объединения всех наборов.Это как разрыв страницы по горизонтали.

Как понятно, это в контексте распределенной СУБД.

18 голосов
/ 31 августа 2013

Скажем, у нас есть это отношение

customer_id | Name | Area       | Payment Type  | Sex
      1     | Bob  | London     | Credit card   | Male
      2     | Mike | Manchester | Cash          | Male
      3     | Ruby | London     | Cash          | Female

Горизонтальная фрагментация - это подмножества кортежей (строк)

Фрагмент 1

customer_id | Name | Area       | Payment Type  | Sex
      1     | Bob  | London     | Credit card   | Male
      2     | Mike | Manchester | Cash          | Male

Фрагмент 2

customer_id | Name | Area       | Payment Type  | Sex
      3     | Ruby | London     | Cash          | Female

Вертикальная фрагментация - это подмножество атрибутов

Фрагмент 1

customer_id | Name | Area       | Sex
      1     | Bob  | London     | Male
      2     | Mike | Manchester | Male
      3     | Ruby | London     Female

Фрагмент 2

customer_id | Payment Type
      1     | Credit card 
      2     | Cash        
      3     | Cash        
2 голосов
/ 21 ноября 2011

Вертикальная фрагментация требуется только для распределенных баз данных. Скажем, одно из отношений R имеет несколько атрибутов. Некоторые из этих атрибутов состоят в R1, а другие - в R2. Тогда мы присоединяемся к странице по вертикали. Это называется вертикальной фрагментацией.

1 голос
/ 01 мая 2016

Фрагментация данных является важной особенностью распределенных систем управления базами данных (DDBMS) Горизонтальная фрагментация - это разбиение таблиц по горизонтали на кортежи или строки. Например, таблица COMPANY, содержащая 1000 записей, может быть горизонтально разделена на десять фрагментов, каждый из которых имеет 100 уникальных записей.

Вертикальная фрагментация - это фрагментация таблицы на столбцы, известные как набор или сайт, где у каждого сайта должен быть хотя бы один общий столбец, например столбец атрибута первичного ключа (чтобы при необходимости при фрагментировании сайтов) может быть снова сформирован в целую (родительскую) таблицу с использованием общего столбца). Например, таблица EMPLOYEE, имеющая такие атрибуты, как ENO (PRIMARY KEY), ENAME, ADDRESS, EMAIL & SALARY. Вертикально фрагментируя эту таблицу на два сайта, таких как site1 и site2. Столбцы на сайте 1: ENO, ENAME и АДРЕС. Столбцы на сайте 2: ENO, EMAIL & SALARY.

1 голос
/ 17 ноября 2014

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

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

0 голосов
/ 16 июня 2019

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

0 голосов
/ 29 ноября 2015

Горизонтальная фрагментация разбивает таблицы по строкам. Он отличается от вертикальной фрагментации тем, что отношения между ключевыми столбцами и неключевыми столбцами остаются прежними. Содержание таблиц отличается по значению ключа.

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

0 голосов
/ 05 июля 2013

Горизонтальная фрагментация делит отношение на кортежи, называемые строками

Вертикальная фрагментация делит отношение на атрибуты, называемые столбцами.

В зависимости от нашего требования представления приложения, мы можем фрагментировать отношение на горизонтальное или вертикальное,

Степень для правила фрагментации и корректности на основе представления приложения

...