Корпоративные базы данных - статьи

       

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



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

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


  • Менеджер запросов (МЗ) отвечает за реализацию запросов с разбиением
    их на подзадачи, распределяемые между узлами с соблюдением баланса
    загрузки.
  • Оптимизатор запросов определяет наилучший план выполнения запроса,


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

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

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

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

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

Содержание раздела