18c0693f

Фрагментация управления. Неразделение данных



Подобно аппаратным платформам, для которых он предназначен, Informix OXPS построен на
принципах относительной независимости узлов и неразделения ресурсов. Независимость узлов
выражается в том, что каждый из них выполняет свой экземпляр программного обеспечения
СУБД, которое включает сервисы протоколирования, восстановления, управления блокировками
и управления буферами. Узел, на котором выполняются эти сервисы, называется ко-сервером.

На каждом ко-сервере выполняются также компоненты, отвечающие за разбиение запроса на
подзадачи и их распределение между ко-серверами:


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

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

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

Архитектура Informix-OXPS, основанная на принципах децентрализованного,
фрагментированного управления и раздельного владения данными, лишена ряда недостатков,
присущих противоположному подходу, когда базы данных разделяются всеми узлами. В таком
случае необходим выделенный центральный узел, который координирует совместный доступ
"рабочих" узлов к содержимому баз данных.