Database Programming & Design



         

Taming Data Giants - часть 4


Обращения к блокам

раздела можно выполнять только в том экземпляре базы данных, к

которому приписан раздел.

При интенсивной загрузке в режиме OLTP проблемой архитектур баз

данных с разделением ресурсов является необходимость поддержки

когерентности буферных кэшей разных экземпляров базы данных.

Приходится использовать специальные блокировки для изменяемых

разделяемых блоков. Если один экземпляр хочет прочитать или

изменить блок данных, который был изменен в буферном кэше другого

экземпляра, то наиболее свежая версия блока должна быть

вытолкнута из буфера второго экземпляра и сделана доступной для

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

типично для OLTP-приложений, механизм поддержания когерентности

кэшей приводит к борьбе экземпляров за часто изменяемые блоки.

Постоянно возникающая потребность в выталкивании содержимого

блока из буферов приводит к тому, что при доступе к такому блоку

экземпляры базы данных работают со скоростью диска, которая на

три порядка меньше скорости устройств основной памяти.

Решением, которое позволяет добиться требуемого уровня

производительности реализаций баз данных с разделением ресурсов,

является использование трехуровневых архитектур приложений.

Распространенные двухуровневые конфигурации (сервер баз данных и

рабочие станции пользователей) не масштабируются к объемам

информации, характерным для VLDB. В трехуровневой архитектуре

появляется промежуточный уровень, в основе которого обычно

находятся мониторы транзакций. Мониторы транзакций Tuxedo (BEA

Systems Inc.) и Encina (Transarc Corp., теперь эта компания

принадлежит IBM) доминируют на рынке UNIX-систем; CICS - на рынке

MVS. Использование надежного промежуточного программного

обеспечения дает много преимуществ. Прежде всего, логика

бизнес-приложений явно отделяется от уровней представления и

доступа к базе данных. Проблема доступа к часто изменяемым блокам

решается за счет явного использования средств маршрутизации в

зависимости от данных (Data-Dependent Routing - DDR).


Содержание  Назад  Вперед