Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Диго С.М. Базы данных проектирование и использование.doc
Скачиваний:
720
Добавлен:
14.05.2016
Размер:
12.04 Mб
Скачать

10.4.5. Использование хранимых процедур и триггеров для контроля целостности бд

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

Другой способ выполнения некоторых стандартных для данной прикладной области операций - использование триггеров. Триггеры срабатывают каждый раз, когда выполняется заданная операция над заданной таблицей. В результате может быть выполнен один опера­тор SQL или вызвана хранимая процедура.

Хранимые процедуры и триггеры могут использоваться в разных ситуациях, в том числе и для контроля целостности БД.

10.5. Тиражирование данных

10.5.1. Основные понятия

Тиражирование - используемая в РБнД технология, предусмат­ривающая поддержку копий всей БД или ее фрагментов в нескольких узлах сети. Копия базы данных, являющаяся членом набора других копий, которые могут быть синхронизированы между собой, называ­ется репликой. Копии БД обычно приближены к местам использования информации. Как синоним понятию «тиражирование» использу­ется термин «репликация». Тиражирование является сравнительно новой технологией.

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

В настоящее время многие известные СУБД предлагают пользова­телям возможности репликации. Но, как и во всякой новой области, тер­минология и подходы к реализации отличаются от системы к системе.

В некоторых системах используются метафоры из издательской деятельности (издатель, публикация, подписчик).

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

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