воскресенье, 10 февраля 2013 г.

зеркалирование баз данных

Технология Database Mirroring может быть совмещена с технологией Database Shapshots для дополнительного использования резервного сервера в качестве сервера отчетов, который будет использовать данные расположенные на резервном сервере. Database Snapshots обеспечивает снимок базы данных на заданный момент времени. Пример сочетания эти

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

Для облегчения высокой доступности клиентским приложениям, Database Mirroring работает вместе с обновлением на уровне компонентов доступа к данным (Microsoft Data Access Components или MDAC) под названием Transparent Client Redirection (прозрачное перенаправление клиентских приложений). Данная функциональность позволяет конечным системам автоматически переподключаться на резервный сервер в случае недоступности базы данных на основном сервере.

Зеркалирование баз данных (Database Mirroring) работает следующим образом: она отправляет журнал транзакций с основного сервера на резервный, таким образом получается нечто вроде Log Shipping в режиме реального времени. Когда клиентское приложение записывает транзакцию на основной сервер, то, перед изменением файла данных, происходит запись изменений в журнал транзакций. Затем эти записи журнала транзакций отправляются на резервный сервер в журнал транзакций зеркальной базы данных. После того как резервный сервер зафиксирует эти записи в журнале транзакций он отправляет подтверждение (acknowledgement) основному серверу. Это позволяет обоим системам знать что запись была принята и оба журнала транзакций имеют одни и те же данные. В случае операции фиксации, основной сервер ждет подтверждения от резервного сервера и только после этого отправляет ответ клиентскому приложению, говоря о том что данная операция завершена. Резервный сервер постоянно находится в режиме непрерывного восстановления для синхронизации файлов данных и журнала транзакций.

Зеркалирование баз данных и резервный сервер

Основной сервер (primary server) это система обеспечивающая сервисы баз данных в настоящий момент. По умолчанию, все клиентские подключения происходят именно к основному серверу. Задача резервного сервера (secondary server) обеспечить обновление копии базы данных (так называемой зеркальной базы данных) основного сервера, которая находится на резервном сервере. Резервный сервер не ограничен только этими операциями создания резервной копии. Остальные базы данных на резервном сервере могут продолжать активно работать с другими приложениями. Свидетель (witness) действующий независимо отвечает за то, какой из серверов в настоящий момент является основным.

Задача резервного сервера

Database Mirroring реализована с помощью трех систем: основной сервер, резервный сервер и сервер-свидетель.

Рисунок 4: Database Mirroring

Также Database Mirroring обеспечивает защиту от сбоев дисковой подсистемы, так как нет разделяемых кворумных дисков, как в кластерном решении и основной и резервный серверы имеют свои собственные дисковые подсистемы. Вдобавок, теоретически отсутствует ограничение на расстояние между основным и резервным серверами, в то время как отказоустойчивые решения построенные на кластерной технологии ограничены, максимум, 100 милями между узлами. В отличие от кластеров, требующих для своей работы сертифицированное оборудование, Database Mirroring работает на любом аппаратном обеспечении, которое поддерживает SQL Server. На рисунку 4 изображены принципы работы данной технологии.

В отличие от Windows Clustering Services, которые работают на уровне сервера, Database Mirroring реализована на уровне базы данных и обеспечивает время восстановления всего за несколько секунд, в то время как восстановление отказоустойчивого кластера занимает порядка 30 секунд, а иногда и больше, в зависимости от степени активности и размера баз данных на сбойном сервере.

В случае сбоя основного сервера Database Mirroring обеспечивает доступность приложений с помощью резервного сервера на котором находится резервная база данных. Данную технологию можно использовать для одной или нескольких баз данных находящихся на одном и том же экземпляре SQL Server. Она обеспечивает нулевую потерю данных. Резервная база данных будет всегда обновляться текущими транзакциями, производимыми на основном сервере баз данных. При этом, что очень важно, Database Mirroring оказывает минимальное влияние на производительность.

Резервный и основной сервер

Новая отказоустойчивая технология, которая появилась в SQL Server 2005, называется Database Mirroring. Она позволяет защититься от незапланированного простоя, вызванного отказом сервера или сбоем базы данных и, как следует из ее названия, обеспечивает отказоустойчивость на уровне базы данных.

P SQL Server 2005 — Database Mirroring (зеркалирование баз данных)

Блог о hardware и software

Резервный сервер. SQL Server 2005 — зеркалирование баз данных

Комментариев нет:

Отправить комментарий