Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Availability groups  [new]
Roust_m
Member

Откуда: Сидней
Сообщений: 1219
Добрый день!

Мы думаем на тем, чтобы использовать эту фичу в нашем решении.

На данный момент мы имеем 4 инстанса SQL Server 2014 разпределенных по 4-м кластерным нодам. Два из них в одном городе и два в другом. В первом городе у нас главная реплика, куда идет запись и чтение. Три вторичные реплики будут использоваться для чтения. Две из них синхронные и одна асинхронная. Все базы данных расположены на локальных дисках.

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

Есть ли какие-нибудь решения чтобы это обойти?

Спасибо.
30 май 16, 04:12    [19234017]     Ответить | Цитировать Сообщить модератору
 Re: Availability groups  [new]
Мимоходящий
Guest
Roust_m,

Что вы имеете ввиду под нулевой потерей данных? Почему вы решили, что если синхронная реплика отвалится запись на первичную ноду не будет завершена?
30 май 16, 07:32    [19234051]     Ответить | Цитировать Сообщить модератору
 Re: Availability groups  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 32167
Roust_m
Если связь между двумя городами падает, то запись в главную реплику не сможет завершиться из-за синхронной реплики в другом городе. Система должна иметь нулевую потерю данных, что не соблюдается в данном сценарии.

Есть ли какие-нибудь решения чтобы это обойти?
Решение чего вам нужно, непонятно? Это же логика, которая вам нужна?

Если вы накладываете такое условие завершения транзакции, как "транзакция должна подтвердиться на всех серверах", то всё правильно, при отсутствии связи транзакции будут отваливаться. Вот это будет "нулевая потеря данных". Связи нет - ничего не работает.

Если всё должно продолжать работать при падении канала, то работайте асинхронно. Тогда данные доставятся при поднятии канала.
Но естественно, если тот сервер вообще упал, то данные будут под угрозой, этот вариант менее надёжен.
30 май 16, 12:14    [19235464]     Ответить | Цитировать Сообщить модератору
 Re: Availability groups  [new]
Roust_m
Member

Откуда: Сидней
Сообщений: 1219
Мимоходящий
Roust_m,

Что вы имеете ввиду под нулевой потерей данных? Почему вы решили, что если синхронная реплика отвалится запись на первичную ноду не будет завершена?


Recovery point objective (RPO) должна быть 0.

Ну разве это не определение синхронной реплики, что если она не может закомититься на вторичной реплике, то она откатится и на первичной? Асинхронная реплика не откатит на первичной, она просто в очередь уйдет и закомитится когда канал снова будет доступен.
31 май 16, 09:19    [19239034]     Ответить | Цитировать Сообщить модератору
 Re: Availability groups  [new]
Slava_Nik
Member

Откуда: из России
Сообщений: 901
Roust_m
Мимоходящий
Roust_m,

Что вы имеете ввиду под нулевой потерей данных? Почему вы решили, что если синхронная реплика отвалится запись на первичную ноду не будет завершена?


Recovery point objective (RPO) должна быть 0.

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

почитайте теорию и соберите тестовый стенд поиграться.

Если вторичная реплика недоступна, транзакции продолжаю коммиться на первичной реплики не взирая на отсутствие вторичной, у вас просто данных на вторичной не будут , в итоге группа AO будет рассинхронна и автоматически переехать на вторичную не получится, пока данные не синхронизируются.
31 май 16, 12:08    [19240293]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить