ВУЗ:
Составители:
Рубрика:
23
• Предполагается без утраты общности, что все фрагменты данного отношения
независимы, т.е. ни один из фрагментов не может быть выведен из других
фрагментов либо иметь выборку или проекцию, которая может быть выведена из
других фрагментов. Если есть необходимость сохранить одну и ту же
информацию в нескольких разных местах, для этого следует использовать
механизм репликации системы.
• Проекции не должны допускать потерю информации.
Восприятие пользователя
EMP# DEPT# SALARY
E1 D1 40K
E2 D2 42K
E3 D3 30K
E4 D4 35K
E5 D5 48K
Нью-Йорк
Лондон
N_EMP
N_EMP
EMP# DEPT# SALARY EMP# DEPT# SALARY
E1 D1 40K E3 D2 30K
E2 D1 42K E4 D2 35K
E5 D3 48K
Рис. 2.1. Пример фрагментации
Реконструкцию исходного отношения на основе его фрагментов можно осуществить
с помощью операций соединения (для вертикальных фрагментов) и объединения (для
горизонтальных фрагментов). Обратите внимание, что в случае объединения не
потребуется выполнять операцию исключения дубликатов (самостоятельно).
В отношении вертикальной фрагментации необходимо привести дополнительные
разъяснения. Как уже упоминалось выше, при такой фрагментации не должна допускаться
потеря информации, потому что фрагментация отношения ЕМР на проекции (EMP#,
DEPT#) и (SALARY) не будет достоверной. Однако в некоторых системах хранимые
отношения имеют скрытый атрибут TID ("tuple ID" - идентификатор кортежа), т.е.
физический или логический адрес этого кортежа. Атрибут TID является потенциальным
ключом для данного кортежа, поэтому если бы отношение ЕМР содержало такой атрибут,
то оно могло бы быть корректно фрагментировано на проекции (ТID, EMP#, DEPT#) и
(ТID, SALARY), поскольку такая фрагментация происходит без потери информации.
Обратите внимание, что именно легкость выполнения фрагментации и реконструкции -
одна из многих причин, по которым для распределенных систем используется
реляционная модель. Дело в том, что в ней предусмотрены именно те операции, которые
необходимы для выполнения таких задач.
Наконец, переходя к главному, нужно сказать, что в системе, поддерживающей
фрагментацию данных, следует также предусмотреть поддержку независимости от
фрагментации (или прозрачность фрагментации). Иными словами, с логической точки
зрения пользователям следует обеспечить такой режим работы, при котором данные
кажутся нефрагментированными. Независимость от фрагментации (как и независимость
от расположения) весьма желательна, поскольку упрощает пользовательские программы и
терминальную деятельность. В частности, она позволяет в любой момент осуществить
дефрагментацию данных (и фрагменты могут быть перераспределены в любой момент
времени) в ответ на изменение требований к производительности, причем без
необходимости отключения любых пользовательских программ и терминальной
• Предполагается без утраты общности, что все фрагменты данного отношения
независимы, т.е. ни один из фрагментов не может быть выведен из других
фрагментов либо иметь выборку или проекцию, которая может быть выведена из
других фрагментов. Если есть необходимость сохранить одну и ту же
информацию в нескольких разных местах, для этого следует использовать
механизм репликации системы.
• Проекции не должны допускать потерю информации.
Восприятие пользователя
EMP# DEPT# SALARY
E1 D1 40K
E2 D2 42K
E3 D3 30K
E4 D4 35K
E5 D5 48K
Нью-Йорк Лондон
N_EMP N_EMP
EMP# DEPT# SALARY EMP# DEPT# SALARY
E1 D1 40K E3 D2 30K
E2 D1 42K E4 D2 35K
E5 D3 48K
Рис. 2.1. Пример фрагментации
Реконструкцию исходного отношения на основе его фрагментов можно осуществить
с помощью операций соединения (для вертикальных фрагментов) и объединения (для
горизонтальных фрагментов). Обратите внимание, что в случае объединения не
потребуется выполнять операцию исключения дубликатов (самостоятельно).
В отношении вертикальной фрагментации необходимо привести дополнительные
разъяснения. Как уже упоминалось выше, при такой фрагментации не должна допускаться
потеря информации, потому что фрагментация отношения ЕМР на проекции (EMP#,
DEPT#) и (SALARY) не будет достоверной. Однако в некоторых системах хранимые
отношения имеют скрытый атрибут TID ("tuple ID" - идентификатор кортежа), т.е.
физический или логический адрес этого кортежа. Атрибут TID является потенциальным
ключом для данного кортежа, поэтому если бы отношение ЕМР содержало такой атрибут,
то оно могло бы быть корректно фрагментировано на проекции (ТID, EMP#, DEPT#) и
(ТID, SALARY), поскольку такая фрагментация происходит без потери информации.
Обратите внимание, что именно легкость выполнения фрагментации и реконструкции -
одна из многих причин, по которым для распределенных систем используется
реляционная модель. Дело в том, что в ней предусмотрены именно те операции, которые
необходимы для выполнения таких задач.
Наконец, переходя к главному, нужно сказать, что в системе, поддерживающей
фрагментацию данных, следует также предусмотреть поддержку независимости от
фрагментации (или прозрачность фрагментации). Иными словами, с логической точки
зрения пользователям следует обеспечить такой режим работы, при котором данные
кажутся нефрагментированными. Независимость от фрагментации (как и независимость
от расположения) весьма желательна, поскольку упрощает пользовательские программы и
терминальную деятельность. В частности, она позволяет в любой момент осуществить
дефрагментацию данных (и фрагменты могут быть перераспределены в любой момент
времени) в ответ на изменение требований к производительности, причем без
необходимости отключения любых пользовательских программ и терминальной
23
Страницы
- « первая
- ‹ предыдущая
- …
- 21
- 22
- 23
- 24
- 25
- …
- следующая ›
- последняя »
