AWS DMS двусторонняя репликация данных

Я создал RDS для односторонней репликации данных

"(Источник (Sql_server) в пункт назначения (сервер MySql)",

Как это будет работать, двусторонняя репликация данных

Объяснение:-

Шаг 1. Я создал AWS DMS(служба реляционной базы данных) в учетной записи aws

Шаг 2: Войдите в систему RDS на SQl server 2017.

Шаг 3: тогда я перешел по этой ссылке

https://aws.amazon.com/blogs/database/introducing-ongoing-replication-from-amazon-rds-for-sql-server-using-aws-database-migration-service/

Шаг 4: после этой ссылки, один из способов репликации данных работает нормально (теперь это означает, что когда я обновляю таблицу SQL Server, она отражается в таблице базы данных MySQL)

мне нужна двухсторонняя репликация

Любая идея или предложение Спасибо

Amandeep

0 ответов

Согласно Amazon, это не рекомендуемая практика с DMS:

Двунаправленная репликация не рекомендуется с DMS. Типичный сценарий репликации имеет один источник и цель. Когда исходная и целевая конечные точки различны, DMS гарантирует целостность транзакции. При двунаправленной репликации эти источник и цели могут быть обращены вспять и привести к непредвиденным последствиям, если одна и та же строка обновляется двумя разными задачами репликации. Двусторонняя репликация работает лучше всего, когда таблицы, обновляемые из источника в цель, логически независимы от таблиц, обновляемых из цели в источник.

https://aws.amazon.com/dms/faqs/)

Конечно, вы можете попытаться настроить два задания DMS, указывающие в разных направлениях. (Вы ДЕЙСТВИТЕЛЬНО сказали, что искали идеи; я не думаю, что это особенно хорошая идея.) Вы также можете подумать о создании экземпляра SQL Server RDS (вместо MySQL), поскольку вы можете использовать некоторые из SQL Server. встроенная двунаправленная репликация. Приятной частью здесь является то, что он решает проблемы, с которыми вы можете столкнуться при переходе между разными системами баз данных (например, циклы). У Microsoft есть это, чтобы сказать об этом:

Двунаправленная репликация транзакций - это особая топология репликации транзакций, которая позволяет двум серверам обмениваться изменениями друг с другом: каждый сервер публикует данные, а затем подписывается на публикацию с теми же данными с другого сервера. Параметр @loopback_detection в sp_addsubscription (Transact-SQL) имеет значение TRUE, чтобы гарантировать, что изменения отправляются только подписчику и не приводят к тому, что изменения отправляются обратно издателю.

(из https://docs.microsoft.com/en-us/sql/relational-databases/replication/transactional/bidirectional-transactional-replication?view=sql-server-2017)

Удачи!

В настоящее время служба миграции баз данных Amazon поддерживает двунаправленную репликацию с SQL Server. Я считаю, что это недавнее добавление функции. Документация Amazon:

https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Task.CDC.html

Это не двунаправленная репликация транзакций. То есть, предположим, что приложение 1 изменяет зарплату "Джона Смита" и устанавливает ее на уровне 150000 долларов на SQLNode1, а приложение 2 изменяет зарплату "Джона Смита" и устанавливает ее на уровне 100000 долларов на SQLNode2. Нет возможности отловить этот конфликт в задаче репликации. Эти задачи не являются атомарными с фиксацией в обеих базах данных. Таким образом, разработчик приложения должен будет встроить логику проверки данных и согласованности данных для этих ситуаций.

Другие вопросы по тегам