Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
В том случае, если снимки не отвечают необходимым требованиям, то Oracle дает две возможные им замены:
· Триггеры можно использовать для поддержания дубликатов таблиц на множественных узлах распределенной БД; в этом случае обновление дубликатов происходит автоматически и немедленно (синхронно);
· Ручное дублирование таблиц с использованием утилит экспорта/импорта и SQL; в этом случае копия таблицы будет содержать записи исходной таблицы на момент копирования.
Триггеры увеличивают трафик, а наличие ручного копирования усложняет работу с БД.
Если дублируемая таблица подвергается значительному объему обновления, который должен отражаться в дубликатах лишь с некоторой периодичностью, то лучший выбор – это снимки или ручное копирование. Если же дублируемая таблица редко обновляется и часто опрашивается, то нужно остановить свой выбор на снимках и триггерах.
Синхронное и асинхронное копирование помогает сделать выбор между использованием снимков и триггеров. Если обновления дублируемой таблицы должны всегда отражать текущее состояние таблицы, то необходимо использовать триггеры. Если же обновление таблицы происходит относительно редко и задача, решаемая с помощью этой таблицы, не требует гарантированной идентичности таблицы, то можно использовать асинхронное копирование таблиц, т.е. снимки.
Проблемы работы с триггерами и снимками:
1) Т.к. триггеры исполняются всегда синхронно, то любой сбой будет серьезно отражаться на системе; вследствие этого использование триггера будет приводить к ограничению автономности вашей БД; в случае использования снимков даже если сбой произойдет между обновлениями, то к следующему обновлению БД будет восстановлена;
2) Использование триггеров приводит к более низкой производительности, чем при использовании снимков; это связано с тем, что каждое обновление вызывает значительный сетевой трафик. Обновление снимка вызывает меньший сетевой трафик.
3) Снимки обеспечивают декларативное ограничение целостности.
Дублирование таблиц с помощью триггеров:
· Каждая копия может, как опрашиваться, так и обновляться, причем все изменения распространяются автоматически на каждую копию.
· Удаленное обновление осуществляется триггерами, подтверждается транзакциями пользователя, содержащими UPDATE, посредством обычного двухфазного COMMIT.
· Необходимо помнить, что при выключении дублирующих триггеров (во время загрузки информации) получим неэквивалентные таблицы.
· При сбое удаленные копии таблиц нельзя устранять, пока не будет устранен сбой.
Дата публикования: 2015-02-18; Прочитано: 167 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!