Распределенная обработка данных. Найханова Л.В. - 65 стр.

UptoLike

Составители: 

65
эффективности выполнения запросов и обычно автоматически поддерживаемые
нижним уровнем системы;
- журнальная информация, поддерживаемая для удовлетворения потребности в
надежном хранении данных;
- служебная информация, поддерживаемая для удовлетворения внутренних
потребностей нижнего уровня системы (например, информация о свободной
памяти).
System R и Ingres имеют два альтернативных подхода к организации реляционной
СУБД с точки разделения функций между различными компонентами. В СУБД System R
существует интегрированная подсистема управления данными, транзакциями и
журнализацией, в то время как в Ingres управление данными, было отделено от
управления транзакциями и журнализацией.
У обоих этих подходов имеются свои преимущества и недостатки. Подход System R
позволяет использовать более эффективные методы за счет совместного решения проблем
физической и логической синхронизации, использовании общих протоколов при
управлении буферами и журнализации и т.д. Но при этом в некотором смысле подсистема
нижнего уровня становится монолитом; при самой удачной ее структуризации
компоненты остаются связанными общими протоколами взаимодействия. Непродуманные
локальные изменения одного компонента могут привести к фатальным последствиям для
всей системы. Подход Ingres позволяет упростить структуру системы и сделать ее более
гибкой, но это возможно только за счет огрубления алгоритмов: применения более грубых
методов управления транзакциями; жестких протоколов журнализации и т.д.
В конечном счете любая конкретная система основывается на конкретном
комплексном решении. Мы рассматриваем здесь фрагменты таких решений (эскизы).
Хранение отношений
Существуют два принципиальных подхода к физическому хранению отношений.
Наиболее распространенным является покортежное хранение отношений (кортеж
является единицей физического хранения). Естественно, это обеспечивает быстрый
доступ к целому кортежу, но при этом во внешней памяти дублируются общие значения
разных кортежей одного отношения и, вообще говоря, могут потребоваться лишние
обмены с внешней памятью, если нужна часть кортежа.
Альтернативным (менее распространенным) подходом является хранение отношения
по столбцам, т.е. единицей хранения является столбец отношения с исключенными
дубликатами. Естественно, что при такой организации суммарно в среднем тратится
меньше внешней памяти, поскольку дубликаты значений не хранятся; за один обмен с
внешней памятью в общем случае считывается больше полезной информации.
Дополнительным преимуществом является возможность использования значений столбца
отношения для оптимизации выполнения операций соединения. Но при этом требуются
существенные дополнительные действия для сборки целого кортежа (или его части).
Поскольку гораздо более распространено хранение по строкам, мы рассмотрим
немного более подробно этот способ хранения отношений. Типовой, унаследованной от
System R, структурой страницы данных является следующая:
i
Область описателей
i-й описатель
i-й кортеж
Рис.6.1. Типовая структура страницы
         эффективности выполнения запросов и обычно автоматически поддерживаемые
         нижним уровнем системы;
     - журнальная информация, поддерживаемая для удовлетворения потребности в
         надежном хранении данных;
     - служебная информация, поддерживаемая для удовлетворения внутренних
         потребностей нижнего уровня системы (например, информация о свободной
         памяти).
     System R и Ingres имеют два альтернативных подхода к организации реляционной
СУБД с точки разделения функций между различными компонентами. В СУБД System R
существует интегрированная подсистема управления данными, транзакциями и
журнализацией, в то время как в Ingres управление данными, было отделено от
управления транзакциями и журнализацией.
     У обоих этих подходов имеются свои преимущества и недостатки. Подход System R
позволяет использовать более эффективные методы за счет совместного решения проблем
физической и логической синхронизации, использовании общих протоколов при
управлении буферами и журнализации и т.д. Но при этом в некотором смысле подсистема
нижнего уровня становится монолитом; при самой удачной ее структуризации
компоненты остаются связанными общими протоколами взаимодействия. Непродуманные
локальные изменения одного компонента могут привести к фатальным последствиям для
всей системы. Подход Ingres позволяет упростить структуру системы и сделать ее более
гибкой, но это возможно только за счет огрубления алгоритмов: применения более грубых
методов управления транзакциями; жестких протоколов журнализации и т.д.
     В конечном счете любая конкретная система основывается на конкретном
комплексном решении. Мы рассматриваем здесь фрагменты таких решений (эскизы).
Хранение отношений
     Существуют два принципиальных подхода к физическому хранению отношений.
Наиболее распространенным является покортежное хранение отношений (кортеж
является единицей физического хранения). Естественно, это обеспечивает быстрый
доступ к целому кортежу, но при этом во внешней памяти дублируются общие значения
разных кортежей одного отношения и, вообще говоря, могут потребоваться лишние
обмены с внешней памятью, если нужна часть кортежа.
     Альтернативным (менее распространенным) подходом является хранение отношения
по столбцам, т.е. единицей хранения является столбец отношения с исключенными
дубликатами. Естественно, что при такой организации суммарно в среднем тратится
меньше внешней памяти, поскольку дубликаты значений не хранятся; за один обмен с
внешней памятью в общем случае считывается больше полезной информации.
Дополнительным преимуществом является возможность использования значений столбца
отношения для оптимизации выполнения операций соединения. Но при этом требуются
существенные дополнительные действия для сборки целого кортежа (или его части).
     Поскольку гораздо более распространено хранение по строкам, мы рассмотрим
немного более подробно этот способ хранения отношений. Типовой, унаследованной от
System R, структурой страницы данных является следующая:

                         i           Область описателей

                                         i-й описатель


                                          i-й кортеж


                         Рис.6.1. Типовая структура страницы

                                                                                   65