Блог

Главная / Блог / Комплексное руководство по репликации SQL Server: настройка, типы и компоненты

Содержание
Автоматизированный, Без кода Стек данных

Научиться Astera Data Stack может упростить и оптимизировать управление данными вашего предприятия.

Полное руководство по репликации SQL Server: настройка, типы и компоненты

Мариам Анвар

Маркетолог

Январь 31st, 2024

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

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

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

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

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

Что такое репликация SQL Server?

Репликация SQL Server — это функция Microsoft SQL Server, которая позволяет передавать и синхронизировать данные и объекты базы данных из одной базы данных в другую. Хотя SQL Server Replication разделяет фундаментальную концепцию репликации данных, он специально разработан для работы в среде SQL Server, предоставляя надежное, гибкое и эффективное решение для управления распределением и синхронизацией данных.

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

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

Репликация SQL Server подразделяется на четыре основных типа. Каждый из них служит различным потребностям и сценариям. Выбор среди них зависит от конкретных требований среды данных. Они включают:

1. Репликация моментальных снимков

Репликация моментальных снимков создает полную копию или «моментальный снимок» всей базы данных или ее части, которая затем передается подписчику. Если изменения, вносимые в данные, происходят нечасто, это наиболее эффективный подход.

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

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

2. Транзакционная репликация

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

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

3. Репликация слиянием

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

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

4. Одноранговая репликация

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

Например, рассмотрим транснациональную корпорацию с офисами в Нью-Йорке, Лондоне и Токио, каждый из которых имеет собственный сервер. Корпорация использует одноранговую репликацию, чтобы гарантировать, что любое обновление, сделанное в любом офисе (например, обновление информации о клиенте в офисе в Нью-Йорке), немедленно реплицируется на серверы в других офисах.

Основные компоненты репликации SQL Server

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

1. Издатель

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

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

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

3. Абонент

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

4. Публикация

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

5. Статья

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

6. Подписка

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

7. Агенты

Агенты — это специализированные процессы или службы в репликации SQL Server, которые отвечают за перемещение данных между издателем и подписчиками. Три основных типа агентов: агент моментальных снимков, который создает снимки данных и схемы; агент чтения журнала, который отслеживает журнал транзакций; и агент распространителя, который перемещает реплицированные данные из базы данных распространителя подписчикам. Эти агенты работают в унисон, чтобы обеспечить плавную и своевременную передачу данных.

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

Как настроить репликацию SQL Server

Чтобы продемонстрировать, как организация может настроить репликацию SQL Server, давайте рассмотрим вариант использования:

Розничный торговец продает по двум каналам: онлайн и в магазине.

Розничный торговец ведет отдельные таблицы базы данных, а именно: Заказы_Онлайн и Заказы_Магазин, каждый из которых находится в отдельных базах данных SQL Server на разных машинах (серверах). Крайне важно, что процесс репликации гарантирует, что заказы, размещенные через один канал, отражаются в другом, создавая синхронизированную экосистему данных.

Традиционно для достижения такой репликации организациям приходилось преодолевать сложности настройки компонентов SQL Server. Однако, Astera упрощает всю задачу, предоставляя интуитивно понятное и удобное для пользователя решение. Устранив тонкости, связанные с ручной установкой и настройкой, Astera упрощает процесс репликации.

Вот более детальный взгляд на то, как Astera выполняет это:

Цель: Обеспечьте синхронизацию или репликацию данных между таблицами Orders_Online и Orders_Store.

Шаг 1. Репликация из Orders_Online в Orders_Store

а. Начните с указания необходимой информации для подключения к базе данных Shop_Online с помощью SQL Server.

настроить sql-сервер

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

таблица выбора из источника

в. Настройте процессор различий базы данных для обнаружения различий между источником (Orders_Online) и местом назначения (Orders_Store) и записи их в таблицу базы данных Orders_Store.

д. Определите структурированное сопоставление, которое четко определяет, как столбцы в таблице Orders_Online соответствуют столбцам в таблице Orders_Store.

сопоставление данных о заказах в магазине

е. Повторите действия для таблицы Orders_Store, обеспечив двунаправленную синхронизацию.

Шаг 2. Установите непрерывную двустороннюю репликацию

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

обзор потока данных

  • Чтобы настроить непрерывный автоматический запуск вышеуказанного потока данных, мы можем запланировать его как задание с помощью планировщика заданий. Здесь задание настроено на непрерывное выполнение на Astera сервере с минимальным временем ожидания 5 секунд и максимальным 30 секундами перед повторным запуском. Такая настройка обеспечивает синхронизацию между двумя таблицами базы данных практически в реальном времени.

планирование репликации данных

Результаты:

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

    • Когда новый заказ размещается в Orders_Online и новый заказ размещен
    • Когда новый заказ размещается в Orders_Store,размещен новый заказ в магазине

 

 

 

 

 

Эти изменения мгновенно отражаются в обеих базах данных.

изменения отражаются в обеих базах данных

Заключение

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

Astera разработан для увеличения этих преимуществ за счет упрощения процесса репликации SQL Server.

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

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

Готовы усовершенствовать процесс репликации SQL Server? Начните свое путешествие с загрузка Asteraсегодня 14-дневная бесплатная пробная версия.

Испытайте беспроблемную репликацию SQL Server

AsteraУдобный интерфейс с возможностью перетаскивания делает процесс репликации простым и понятным даже для нетехнических пользователей. Кроме того, благодаря настраиваемым функциям, Astera может удовлетворить ваши конкретные бизнес-потребности, что делает его идеальным решением для репликации SQL Server.

Скачать бесплатную пробную версию
 

Вам также может понравиться
Что такое бизнес-словарь? Определение, компоненты и преимущества
Что такое онлайн-обработка транзакций (OLTP)?
Лучшие инструменты интеллектуального анализа данных в 2024 году
принимая во внимание Astera Для ваших потребностей в управлении данными?

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

Давайте соединимся сейчас!
давайте соединимся