Ласкаво просимо до dev.net.ua Увійти | Приєднатися | Допомога

Технологии обеспечения высокой доступности в SQL Server. Вступление

Для многих приложений весьма критична доступность сервера баз данных. По этому SQL Server содержит сразу три подхода по обеспечению высокой доступности плюс один с таким побочным эффектом:

  • Failover clustering
  • Log shipping
  • Database Mirroring (имеет два варианта: синхронный и асинхронный)
  • Peer-to-peer replication

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

Критерии которые могут влиять на выбор того или иного варианта:

  • Элементы для которых обеспечивается высокая доступность (экземпляр, отдельная база данных или группа таблиц)
  • Возможный объем потерь данных
  • Время простоя
  • Типичные сценарии применения
  • Процедура разворачивания
  • Стабильность к множественным выходам из строя
  • Возможность применения для балансировки нагрузки (как с обновление, так и только для чтения) 
  • Поддерживающие версии и редакции SQL Server
  • Стоимость

Небольшая сводная таблица:

 

0-вые потери

Авто
переключение
Влияние на производ. Число копий
данных
Число
резервных
экзепляров
Чтение с копий Запись на копиях Физ. расстояние Спец. оборобувание Область
Log Shipping Нет Нет Слабое Любое Любое Да Нет Любое Нет БД
Failove Clustering Да Да (от 30секунд) Нет 1 До 16 Нет Нет Длина кабеля для дискового массива Общий дисковый массив Экземляр
Database Mirroring Sync Да Да (от 3 секунд) Существенное 2 1 Да (при создании мгновенного снимка) Нет Любое Нет БД
Database Mirroring Async Нет (но очень малые) Нет Слабое 2 1 Да (при создании мгновенного снимка) Нет Любое Нет БД
Peer-to-Peer Replication Нет Резервные копии всегда доступны Слабое Любое Любое Да Да Любое Нет Выбранные таблицы и их части

Один важный для всех вариантов вопрос – это лицензирование. И здесь работает правило – если экземпляр SQL Server’а используется только для обеспечения высокой доступности (читай ждет пока упадет кто-то другой и нужно будет начать работу), то дополнительная лицензия не нужна. Цитата из документации по лицензированию:

When doing failover support, a server is designated as the passive server. The purpose of the passive server is to absorb the data and information held in another server that fails. A passive server does not need a license, provided that the number of processors in the passive server is equal or less than those of the active server. The passive server can take the duties of the active server for 30 days. Afterward, it must be licensed accordingly.

PS. В ближайщее время должен быть опубликован мой Webcast на эту тему.

Опубліковані Thursday, April 23, 2009 12:02 PM від kosinsky
Помічено як: ,

Коментарі

# WebCast’ы по BI и технологиям обеспечения высокой достпуности в SQL Server 2008

В ноябре-декабре прошлого года проходил Полигон по BI в SQL Server 2008 по его мотивам записана серия

Wednesday, April 29, 2009 2:09 AM by Константин Косинский

# Наблюдения о SQL Server Database Mirroring

В SQL Server 2005 SP1 появилась технология Database Mirroring, которая позволяет обеспечить высокую доступность

Thursday, March 04, 2010 2:18 AM by Konstantin Kosinsky
Анонімні коментарі деактивовані. Увійдіть або Зареєструйтесь щоб мати доступ до ресурсів Спільноти.