Репликация баз данных SQL: введение и настройка

Администрирование

Репликация баз данных SQL: введение и настройка

Что такое репликация базы данных. Основные понятия и компоненты, типы репликации. Настройка репликации.

Поделиться
Запинить
Отправить

Репликация базы данных SQL

Объем данных в бизнесе, науке и разработке растет с каждой секундой. Практически все рабочие процессы связаны с использованием баз данных. Размеры БД в крупных компаниях не позволяют хранить их на физических дисках — слишком дорого и ненадежно. Безопаснее и удобнее использовать облачные хранилища и SQL-серверы.

Чтобы правильно организовать удаленный доступ, фиксировать изменения в данных и сохранять бэкапы, понадобится репликация. Что такое репликация базы данных, как ее настроить и что стоит учесть — рассказывают специалисты Boodet.Online.

Что такое репликация базы данных?

Репликация базы данных SQL Server — это особая технология копирования и распределения как самих данных, так объектов БД из одной базы в другую. Чтобы компоненты оставались целостными, нужна синхронизация. Репликацию можно сделать непрерывной или настроить на запуск через определенные промежутки времени.

А теперь то же самое, но простыми словами. Представьте, что у вас вместо одной БД две. Первая — главная. Именно там происходят все ключевые изменения. Чтобы не потерять важную информацию и настройки, при каждом изменении, состояние и наполнение таблиц копируется во вторую БД. Если одна из них по каким-то причинам «испортится», данные можно будет быстро восстановить. Другими словами, репликация — это точный клон «главной» MS SQL.

Чем это отличается от обычного резервного копирования? Бэкапы — это просто информация. Например, резервная копия сервера — это данные о том, что на этом сервере было и как работало. Чтобы отладить процессы с помощью бэкапов, надо запустить восстановление. Репликация — это полностью готовый к работе клон главной базы данных. Если что-то идет не так, вы просто продолжаете работать, без каких-либо дополнительных действий. Когда главную БД починят, обновления тут же перенесутся с реплики. Чаще всего пользователи даже не замечают, что что-то произошло — процессы синхронизированы.

Компоненты репликации

Компоненты — это то, что можно настроить. Основными являются объекты, состояния, и стороны процесса. Проще говоря, это все, что отвечает за процесс синхронизации:

  • что клонируется;

  • кто клонирует;

  • как это происходит;

  • в каком состоянии это происходит;

  • кто отвечает за изменения.

Ниже мы кратко рассмотрим все базовые компоненты.

Агенты

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

Какими они бывают:

  • снапшотов — моментальных снимков;

  • чтения журналов;

  • распространения;

  • слияния.

Издатель

В издателе находится список объектов, обозначенных как «статьи». У него может быть одна или несколько публикаций. Именно издатель определяет механизм распространения данных, создавая несколько хранимых процедур внутренней репликации баз данных. Этот компонент также отвечает за доступность информации.

Публикации

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

Статьи

Статья — это базовая единица клонирования. Компонент может состоять из:

  • представлений;

  • таблиц;

  • процедур;

На основе одного объекта можно создать одну или более статей. Что можно делать со статьями во время настройки процесса:

  • перемещаться по статье (с помощью Мастера создания публикаций);

  • устанавливать свойства и доступы к нему;

  • выводить список всех опубликованных статей;

  • получать подробную информацию;

  • запрашивать сведения об уровне столбца;

  • перечислять столбцы, опубликованные в репликации транзакций в базе данных публикации.

Дистрибьютор

Дистрибьютор — это база данных, которая работает как хранилище для данных репликации, связанных с одним или несколькими издателями. Чаще всего он одновременно играет роль издателя и распространителя. В зависимости от места расположения бывает локальным или удаленным.

Базы данных дистрибьютора

У каждого дистрибьютора при репликации должна быть хотя бы одна собственная база данных, состоящая из:

  • метаданных репликации;

  • деталей статьи;

  • непосредственно данных.

Подписчик

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

Подписки

Подписка — это запрос на доставку копии публикации подписчику. Она определяет, какие данные будут получены, где и когда.

Существует два типа подписок:

  • Push — БД обновляются напрямую;

  • Pull — БД обновляются по запросу.

Типы репликации

В зависимости от направления репликация MS SQL Server бывает:

  • односторонней;

  • двухсторонней;

  • направление «одна-ко-многим»;

  • направление «многие-к-одному».

Выделяют 4 типа репликации базы данных:

  • моментальных снимков;

  • транзакций;

  • одноранговая;

  • слиянием.

Моментальным снимком

Точное копирование данных в том виде, в котором они отображаются в момент создания снапшота БД.

Когда используется:

  • если данные меняются не часто;

  • значение реплики невелико;

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

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

Транзакций

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

Когда используется:

  • если реплика будет применяться при отказе основной БД;

  • головному офису нужны отчеты об операциях в филиалах;

  • частое изменение в SQL.

Одноранговая

Одновременная синхронизация для нескольких подписчиков.

Когда используется:

  • у компании много SQL-серверов в разных географических точках;

  • нужно, чтобы изменения можно было вносить на любом из серверов;

  • необходимо эффективно масштабировать рабочее приложение с доступом к SQL.

Пример: крупная торговая сеть использует одну CRM, где каждый сотрудник может внести свои изменения.

Клонирование слиянием

Чаще всего используется в среде сервер-клиент, чтобы добиться синхронизации в тех случаях, когда отсутствует непрерывное подключение SQL Server.

Когда используется:

  • если серверы не всегда включены;

  • когда несколько вторичных хранилищ работают с одним общим.

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

Репликация Active Directory

Репликация Active Directory гарантирует, что информация или данные между контроллерами домена остаются обновленными и согласованными.

Какие разделы клонируются в Active Directory:

  • схемы;

  • конфигурации;

  • домены;

  • приложения.

Настройка репликации

Мы рекомендуем обратиться к специалистам для настройки репликации MS SQL. Без IT-знаний и опыта это будет сложно сделать самостоятельно. В этой статье мы рассмотрим базовые принципы процесса и важные условия для клонирования.

О чем нельзя забывать

Прежде чем запустить репликацию БД, надо убедиться, что выполнены все важные условия:

  • для учетной записи назначена фиксированная роль db_owner;

  • есть разрешения на чтение и запись;

  • хотя бы в одной БД есть первичный ключ и статья;

  • на диске хватит места для хранения клонированного экземпляра.

Как настраивать

IT-специалисты используют специальный софт для того, чтобы упростить процесс настройки репликации MS SQL: SQL Server Management Studio.

Первым делом настраивают дистрибьютора, создают публикацию, папку для снапшотов и подписки. Все это можно сделать в графическом интерфейсе SQL Server Management Studio или из командной строки. Здесь же выбирают тип и настраивают компоненты. Чтобы выбрать их и настроить правильно, нужно четко понимать, какие процессы выполняет SQL Server, сколько у него дублеров и пользователей. Основное, что должен учитывать специалист — потребности пользователя, например, бизнеса.

Заключение

Репликация MS SQL Server — это полезная функция, которая позволяет создать точный клон базы данных. Его можно использовать для быстрого восстановления, создания распределенных БД, синхронизации при отсутствии постоянного подключения. Тип и способ настройки репликации зависит от потребностей пользователя.

Мы не рекомендуем настраивать клонирование самостоятельно — так можно потерять вообще все данные. Специалисты Boodet.Online помогут подобрать нужный тип синхронизации, подключат удаленный SQL Server и настроят репликацию любых баз данных.

Поделиться
Запинить
Отправить

Возможно вам так же будет интересно:

Стратегия и инвестиции против тактики на основе клиентских отзывов

Личные секреты от генерального директора Kissmetrics

Роботы-пролетарии, наушники для виртуальной реальности, умная бутылка вина и другие безбашенные идеи

Четыре пули в голову профессиональному выгоранию