Извините, вы уже голосовали за эту статью!
0       12345 0 голосов
Ø
Жалоба:
 
Есть причина пожаловаться?

Статья добавлена 10 января 2011, в понедельник, в 13:33. С того момента...

2631
просмотр
0 добавлений в избранное
0 комментариев

Представлена в разделах:



Top 5 àвтора:

SQL Server 2005 - зеркалирование баз данных

Автор: Георгий
Тема:

Сообщение:
 
Написать автору
 

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник: оригинал статьи

 
 
 
 

Ответов пока нет.

Комментàрии 


Комментариев к этой статье ещё нет.

Пожалуйста, подождите!
Комментарий: