Классика баз данных - статьи

       

иногда данные являются настолько критичными,


Наконец, иногда данные являются настолько критичными, что простои системы неприемлемы. Во многих системах баз данных для удовлетворения этой потребности обеспечиваются реплицированные системы или системы с высоким уровнем доступности. Хотя эта функциональная возможность в сегодняшних системах часто предоставляется в виде некоторой пристройки, их разработчики не идут достаточно далеко. Разработчику может понадобиться использовать некоторую базу данных в конфигурации HA (high-availability), но использовать ее в соединении с основой HA некоторой другой компании. Если в приложении уже имеется некоторая такая основа, поддерживающая протоколы обмена контрольными сообщениями (heartbeat protocol) (или какой либо другой механизм, позволяющий оповестить приложение или систему об отказе компонента), перехваты управления при отказах (fail-over) и резервные коммуникационные каналы, то разработчик может пожелать исключить соответствующие компоненты из системы управления базами данных и привязаться к существующим функциональным возможностям. Монолитные системы сделать это не позволяют, а в модульной архитектуре, основанной на компонентах, это вполне возможно.

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

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


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