Назад | Перейти на главную страницу

Насколько надежно зеркалирование SQL Server (высокая доступность)?

Я оцениваю зеркалирование SQL Server 2008 (асинхронно), чтобы обеспечить лучшую доступность. Основываясь на вашем опыте, я хотел бы знать, является ли зеркалирование SQL Server надежной и зрелой технологией. Автоматический переход на другой ресурс не является обязательным, но его полезно иметь. Поэтому я оцениваю механизм зеркалирования и механизм автоматического переключения при отказе отдельно.

С Уважением,

Да, зеркальное отображение базы данных - надежная технология, которую сегодня используют многие корпоративные клиенты. Я помогал людям настраивать зеркалирование как внутри, так и за пределами Microsoft. Раньше я владел зеркальным отображением базы данных, когда отвечал за SQL Server Storage Engine.

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

Я только что закончил писать 35-страничный технический документ по HA с SQL Server для команды SQL - он будет опубликован до SQL PASS. А пока, чтобы получить представление о том, какие вопросы нужно задать себе, просмотрите эту мою запись в блоге: HA: С чего начать, выбирая решение высокой доступности?. При зеркальном отображении базы данных необходимо учитывать:

  • Сколько баз данных находится в экосистеме вашего приложения? Т.е. какие ресурсы нужно переключить сразу все. Более чем 2-3, и вы можете вместо этого рассмотреть отказоустойчивую кластеризацию с репликацией SAN.
  • Сколько баз данных вы хотите зеркалировать вне единой экосистемы приложений? Если набрать больше 10, вы начнете замечать проблемы с рабочими потоками, памятью и ожиданиями в общем буфере отправки зеркального отображения.
  • Какова скорость создания журнала транзакций?
  • Какая пропускная способность сети и задержка? Эти две вещи определяют, будет ли зеркало синхронизировано с принципалом - и сколько потерь данных вы можете наблюдать в асинхронном режиме (из большой очереди отправки) или ухудшение пропускной способности рабочей нагрузки из-за необходимости ждать, пока транзакции будут усилены на сервере. зеркало (для режима синхронизации)

И так далее.

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

Автоматический переход на другой ресурс - смотря как. Существует множество сценариев, которые следует учитывать, с точки зрения того, какие сетевые ссылки выходят из строя, какие партнеры по зеркалированию выходят из строя и каков фактический сбой. Ознакомьтесь с этим сообщением в блоге, чтобы увидеть список сбоев: Search Engine Q&A # 3: Типы отработки отказа зеркального отображения базы данных и время ожидания партнеров.

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

Наконец, есть несколько хороших технических документов, на которые стоит обратить внимание (см. Ссылки на зеркальное отображение базы данных на нашем сайте). технические документы, страница с убер-ссылками - Я написал книгу о совмещении зеркального отображения базы данных с репликацией транзакций в SS2008) и новую книгу Зеркальное отображение SQL Server Pro.

Надеюсь это поможет!