Открыть сервис

Basic Availability Groups

Basic Availability Groups — это технология обеспечения высокой доступности и частичного аварийного восстановления для баз данных, реализованная в Microsoft SQL Server, начиная с версии 2016 (в редакции Standard). Она представляет собой упрощённую, функционально ограниченную версию классических групп доступности Always On (Always On Availability Groups), которые доступны только в редакции Enterprise. Basic Availability Groups предназначены для замены устаревшей технологии зеркального отображения баз данных (Database Mirroring), которая была объявлена устаревшей в SQL Server 2012 и полностью удалена в SQL Server 2022.

История и предпосылки появления

До появления Basic Availability Groups, единственным штатным механизмом обеспечения высокой доступности для пользователей редакции SQL Server Standard было зеркальное отображение (Database Mirroring) в режиме высокой безопасности с синхронной передачей данных. Однако у этой технологии был ряд существенных недостатков: она требовала ручного переключения (ручного переноса роли «принципал» на «зеркало»), не поддерживала автоматическое переключение при отказе (только в Enterprise Edition с Witness), и не позволяла использовать несколько реплик (только две копии базы данных). Кроме того, зеркальное отображение не давало возможности создавать читаемые вторичные реплики.

С выпуском SQL Server 2016 корпорация Microsoft представила Basic Availability Groups как часть редакции Standard. Это стало ответом на запрос рынка: многие организации, использующие редакцию Standard, нуждались в простом, надёжном и управляемом решении для отказоустойчивости, которое было бы проще в настройке и эксплуатации, чем зеркальное отображение, и при этом предоставляло бы базовые функции групп доступности.

Архитектура и принцип работы

Basic Availability Groups работают на основе той же инфраструктуры, что и полноценные группы доступности Always On (Always On Availability Groups). Они используют механизм репликации на уровне страниц (page-level replication) и протокол кворума, основанный на кластеризации Windows Server Failover Cluster (WSFC). Однако в отличие от Enterprise-версии, они имеют ряд существенных упрощений.

Ключевые архитектурные ограничения

Процесс репликации

  1. Первичная реплика принимает изменения от приложений и записывает их в журнал транзакций.
  2. Каждая завершённая транзакция отправляется на вторичную реплику через протокол кворума WSFC.
  3. Вторичная реплика получает журнал транзакций и применяет его к своей копии базы данных.
  4. После успешного применения журнала на вторичной реплике, первичная реплика получает подтверждение и фиксирует транзакцию как завершённую.

Преимущества и недостатки

Преимущества

Недостатки

Сравнение с альтернативными технологиями

ТехнологияРедакция SQL ServerКоличество репликАвтоматическое переключениеЧитаемые репликиСложность
Basic Availability GroupsStandard (2016+)2 (1 первичная, 1 вторичная)Нет (только ручное)НетНизкая
Always On Availability GroupsEnterprise (2012+)До 9 (1 первичная, до 8 вторичных)Да (при синхронном режиме)Да (до 3 вторичных)Высокая
Database MirroringStandard / Enterprise (до 2022)2 (принципал + зеркало)Да (только в Enterprise с Witness)НетСредняя
Failover Cluster Instance (FCI)Standard / Enterprise2 (активный + пассивный)Да (автоматически)Нет (только один активный узел)Высокая (требуется общее хранилище)

Применение

Basic Availability Groups находят применение в сценариях, где требуется базовая отказоустойчивость для одной или нескольких баз данных, но нет необходимости в сложной инфраструктуре Enterprise-версии. Типичные случаи использования:

Настройка и администрирование

Настройка Basic Availability Groups выполняется через мастер New Availability Group Wizard в SSMS или с помощью команд T-SQL. Основные шаги:

  1. Создание резервной копии базы данных на первичной реплике.
  2. Настройка Windows Server Failover Cluster (WSFC) на обоих серверах.
  3. Создание группы доступности с указанием первичной и вторичной реплик.
  4. Восстановление базы данных на вторичной реплике в режиме NORECOVERY.
  5. Присоединение вторичной реплики к группе доступности.

Администрирование включает в себя мониторинг состояния группы, ручное переключение при отказе (с помощью SSMS или T-SQL), а также управление резервными копиями (резервные копии можно создавать как на первичной, так и на вторичной реплике, но только в режиме COPY_ONLY).

Ограничения и критика

Основная критика Basic Availability Groups связана с их ограниченной функциональностью по сравнению с Enterprise-версией. Отсутствие автоматического переключения и читаемых реплик делает их менее привлекательными для высоконагруженных систем и критически важных приложений, где время простоя должно быть минимальным. Кроме того, ограничение на одну базу данных на группу усложняет управление и увеличивает количество объектов, которые необходимо администрировать.

Тем не менее, для многих организаций, использующих редакцию Standard, Basic Availability Groups являются оптимальным решением, предоставляющим достаточный уровень защиты и простоты по сравнению с устаревшим зеркальным отображением. Они позволяют получить базовую отказоустойчивость без необходимости приобретения дорогостоящей лицензии Enterprise.

Будущее технологии

С выпуском SQL Server 2022 корпорация Microsoft подтвердила, что Basic Availability Groups остаются поддерживаемой технологией для редакции Standard. При этом зеркальное отображение было полностью удалено. Таким образом, Basic Availability Groups являются единственным штатным механизмом для обеспечения высокой доступности в этой редакции. В будущем возможно расширение функциональности, например, добавление поддержки асинхронного режима или автоматического переключения, но официальных заявлений от Microsoft на этот счёт не было.

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →