Репликацию данных часто называют зеркалированием баз данных.

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

Можно назвать следующие преимущества собственных (для SQL-серверов) методов зеркалирования от, например, построения кластерной системы:

отсутствие необходимости использования дополнительного оборудования (систем хранения данных), дублирование производится по обычной сети передачи данных;

зеркалирование можно настроить раздельно для каждой базы (в кластере резервируется все базы сервера);

нет ограничений по оборудованию, которое может применяться для других вариантов (например, по числу процессоров);

зеркалирование может быть настроено в режиме активный-пассивный (изменения в данные могут вноситься только на первом сервере, на втором - только копия данных) или активный-активный (возможны изменения данных на каждом сервере).

Данные между серверами передаются асинхронно. Основной сервер пересылает на вторую систему данные журнала транзакций (протокол внесенных изменений в данные), второй сервер обрабатывает их и вносит изменения в свою копию данных. Эти операции выполняются по мере изменений базы, но понятно, что в силу, например, проблем передачи по сети и т. п., подобные невнесенные изменения могут накапливаться. В результате второй сервер гарантирует идентичность данных только при нормальном функционировании обоих серверов и сети передачи данных. Поэтому администратору необходимо постоянно контролировать состояние репликации.

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

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

Собственно настройка зеркалирования, например в MS SQL, не представляет сложностей. Предварительно рекомендуется сделать резервную копию данных и включить режим восстановления Full. После чего вызвать мастер создания подписки (в терминологии MS SQL основной сервер называют издателем, а сервер, на который копируются данные, - подписчиком) и следовать его указаниям (выбрать базу, указать подписчика, выбрать алгоритм и т. д.). Обязательно следует проверить состояние репликации и отсутствие очереди невнесенных изменений в журнале.

Зеркалирование серверов баз данных | Самоучитель системного администратора | Снимки баз данных


Самоучитель системного администратора



Новости за месяц

  • Август
    2020
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31