ВУЗ:
Составители:
Рубрика:
24
деятельности. Независимость от фрагментации предполагает, что данные будут
представлены для пользователей в виде логически комбинированных фрагментов на
основе соответствующих объединений и соединений. При этом системный оптимизатор
отвечает за определение фрагментов, к которым необходимо обеспечить физический
доступ для выполнения любого заданного пользователем запроса. В качестве примера
допустим, что для фрагментации, показанной на рис. 2.1, пользователь задает следующий
запрос:
EMP WНЕRЕ SALARY > 40К AND DEРT# = 'DI'
В таком случае оптимизатор системы будет знать из определений фрагментов
(которые хранятся в системном каталоге), что так как все результаты могут быть по-
лучены на узле в Нью-Йорке, то нет никакой необходимости осуществлять доступ к узлу в
Лондоне. Рассмотрим этот же пример более тщательно. Отношение ЕМР воспринимается
пользователем как представление базовых фрагментов N_EMP и L_EMP
EMP = N_EMP UNION L_EMP
Таким образом, оптимизатор преобразует исходный запрос пользователя в следующий:
(N_EMP UNION L_EMP) WHERE SALARY > 40К AND DEPT# = 'D1'
А это выражение, в свою очередь, можно преобразовать к виду
(N_EMP WHERE SALARY > 40K AND DEPT# = 'D1'
UNION
(N_EMP WHERE SALARY > 40K AND DEPT# = 'D1')
Из хранящегося в каталоге определения фрагмента L_EMP оптимизатору известно о
том, что второе из этих двух выражений даст в результате пустое отношение (условие
целостности DEPT# = 'D1' AND DEPT# = 'D2' не может быть оценено как истинное).
Таким образом, все выражение в целом можно свести к следующему упрощенному виду:
N_EMP WHERE SALARY > 40K AND DEPT# = 'DI '
Теперь оптимизатору известно, что доступ требуется осуществить только к узлу в
Нью-Йорке. Самостоятельно рассмотрите действия, выполняемые оптимизатором при
работе с приведенным ниже запросом.
EMP WHERE SALARY > 40K
Как следует из сказанного выше, проблема поддержки операций для
фрагментированных отношений имеет некоторое сходство с проблемой поддержки
операций для объединенных и соединенных представлений. Фактически, это разные
проявления одной и той же проблемы при рассмотрении общей архитектуры системы с
разных точек зрения. В частности, проблема обновления фрагментированных отношений-
это проблема обновления в объединениях и соединениях представлений. Отсюда также
следует, что при обновлении заданный кортеж может мигрировать из одного фрагмента в
другой при условии, что он больше не удовлетворяет предикату отношения для
фрагмента, к которому относился до обновления.
6. Независимость от репликации
В системе поддерживается независимость от репликации, если заданное хранимое
отношение или заданный фрагмент могут быть представлены несколькими различными
копиями, или репликами, хранимыми на нескольких различных узлах. Ниже приведен
пример репликации, схематически показанный на рис. 2.2.
REPLICATE N_EMP
LN_EMP AT SITE 'London' ;
REPLICATE L_EMP
деятельности. Независимость от фрагментации предполагает, что данные будут
представлены для пользователей в виде логически комбинированных фрагментов на
основе соответствующих объединений и соединений. При этом системный оптимизатор
отвечает за определение фрагментов, к которым необходимо обеспечить физический
доступ для выполнения любого заданного пользователем запроса. В качестве примера
допустим, что для фрагментации, показанной на рис. 2.1, пользователь задает следующий
запрос:
EMP WНЕRЕ SALARY > 40К AND DEРT# = 'DI'
В таком случае оптимизатор системы будет знать из определений фрагментов
(которые хранятся в системном каталоге), что так как все результаты могут быть по-
лучены на узле в Нью-Йорке, то нет никакой необходимости осуществлять доступ к узлу в
Лондоне. Рассмотрим этот же пример более тщательно. Отношение ЕМР воспринимается
пользователем как представление базовых фрагментов N_EMP и L_EMP
EMP = N_EMP UNION L_EMP
Таким образом, оптимизатор преобразует исходный запрос пользователя в следующий:
(N_EMP UNION L_EMP) WHERE SALARY > 40К AND DEPT# = 'D1'
А это выражение, в свою очередь, можно преобразовать к виду
(N_EMP WHERE SALARY > 40K AND DEPT# = 'D1'
UNION
(N_EMP WHERE SALARY > 40K AND DEPT# = 'D1')
Из хранящегося в каталоге определения фрагмента L_EMP оптимизатору известно о
том, что второе из этих двух выражений даст в результате пустое отношение (условие
целостности DEPT# = 'D1' AND DEPT# = 'D2' не может быть оценено как истинное).
Таким образом, все выражение в целом можно свести к следующему упрощенному виду:
N_EMP WHERE SALARY > 40K AND DEPT# = 'DI '
Теперь оптимизатору известно, что доступ требуется осуществить только к узлу в
Нью-Йорке. Самостоятельно рассмотрите действия, выполняемые оптимизатором при
работе с приведенным ниже запросом.
EMP WHERE SALARY > 40K
Как следует из сказанного выше, проблема поддержки операций для
фрагментированных отношений имеет некоторое сходство с проблемой поддержки
операций для объединенных и соединенных представлений. Фактически, это разные
проявления одной и той же проблемы при рассмотрении общей архитектуры системы с
разных точек зрения. В частности, проблема обновления фрагментированных отношений-
это проблема обновления в объединениях и соединениях представлений. Отсюда также
следует, что при обновлении заданный кортеж может мигрировать из одного фрагмента в
другой при условии, что он больше не удовлетворяет предикату отношения для
фрагмента, к которому относился до обновления.
6. Независимость от репликации
В системе поддерживается независимость от репликации, если заданное хранимое
отношение или заданный фрагмент могут быть представлены несколькими различными
копиями, или репликами, хранимыми на нескольких различных узлах. Ниже приведен
пример репликации, схематически показанный на рис. 2.2.
REPLICATE N_EMP
LN_EMP AT SITE 'London' ;
REPLICATE L_EMP
24
Страницы
- « первая
- ‹ предыдущая
- …
- 22
- 23
- 24
- 25
- 26
- …
- следующая ›
- последняя »
