Репликация базы данных или зеркалирование? - PullRequest
8 голосов
/ 29 мая 2009

В чем разница между репликацией и зеркалированием в SQL Server 2005?

Ответы [ 3 ]

11 голосов
/ 29 мая 2009

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

Репликация, с другой стороны, позволяет двум или более серверам оставаться «синхронизированными» - это означает, что вторичные серверы могут отвечать на запросы и (в зависимости от настройки) фактически изменять данные (они будут объединены в синхронизации). Вы также можете использовать его для локального кэширования, балансировки нагрузки и т. Д.

5 голосов
/ 29 мая 2009

Зеркальное отображение - это функция, которая создает копию вашей базы данных на битовом уровне. По сути, у вас одна и та же база данных в двух местах. Вы не можете опционально опускать части базы данных. У вас может быть только одно зеркало, и «зеркало» всегда находится в автономном режиме (его нельзя изменить). Зеркалирование работает путем отправки журнала базы данных, который создается в зеркало, и применения (восстановления) журнала на зеркале. Зеркалирование - это технология обеспечения высокой доступности и восстановления после сбоев.

Репликация - это функция, которая позволяет реплицировать «кусочки» базы данных между несколькими сайтами. «Срез» может быть набором объектов базы данных (т. Е. Таблиц), но он также может содержать части таблицы, например, только определенные строки (горизонтальное сечение) или только определенные столбцы, подлежащие репликации. Вы можете иметь несколько реплик, и «реплики» доступны для запроса и даже могут быть обновлены. Репликация работает путем отслеживания / обнаружения изменений (с помощью триггеров или путем сканирования журнала) и отправки изменений в виде операторов T-SQL подписчикам (репликам). Репликация - это технология, обеспечивающая доступность данных на удаленных сайтах и ​​консолидация данных на центральных сайтах. Хотя иногда он используется для обеспечения высокой доступности или восстановления после сбоев, он искусственно используется для решения проблемы, связанной с улучшением зеркалирования и адресации доставки журналов.

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

1 голос
/ 29 мая 2009

Зеркальное отображение базы данных используется для увеличения времени работы и надежности базы данных.

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

...