Новое поколение технологий репликации

Одноранговая репликация в SQL Server 2005 позволяет создавать системы повышенной отказоустойчивости и осуществлять масштабирование географически локализованной рабочей нагрузки путем тиражирования данных между удаленные узлами. Эта технология не совсем новая, поскольку построена на базе транзакционной репликации, реализованной в SQL Server 2000. Пользователи SQL Server 2000, возможно, уже сегодня применяют эту технологию в форме двусторонней транзакционной репликации. Однако одноранговая репликация, реализованная в SQL Server 2005, представляет собой значительно усовершенствованный вариант существующей технологии и предусматривает ряд мастеров, помогающих управлять настройкой инфраструктуры одноранговой репликации.

Ниже дана информация, позволяющая получить общее представление о том, что такое транзакционная репликация, и где можно получить инструментальные средства, необходимые для ее использования.

Что такое транзакционная репликация

SQL Server предусматривает два основных типа репликации: репликация слиянием и транзакционная репликация. Репликация слиянием обычно используется между сервером базы данных и клиентской системой.

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

Транзакционная репликация используется главным образом между серверами для поддержания в обновленном состоянии наборов данных на нескольких серверах. Можно также использовать транзакционную репликацию для решения проблемы масштабируемости, поскольку эта технология позволяет выполнять тиражирование данных между несколькими серверами. При этом приложения могут независимо обращаться к различным серверам, не создавая перегрузки одного сервера. Возможность иметь много копий данных также повышает степень доступности данных. Если один из узлов, участвующих в процессе репликации, переходит в автономный режим, для получения доступа к данным достаточно переключиться на другой узел. Заметим, что SQL Server не предусматривает возможности автоматического выполнения такого перехода. Переход осуществляется на уровне приложения путем ввода кода, обеспечивающего автоматическую переадресацию соединения в случае, если конкретная база данных недоступна.

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

Мэтт Нанн, mattnunn@microsoft.com