#windows #amazon-web-services #cloud #data-migration
#Windows #amazon-web-services #облако #перенос данных
Вопрос:
У меня есть приложение .NET Windows, которое хранит / извлекает данные на / с сервера SQL. У меня также есть клон этого приложения, работающий в облаке (созданный с использованием сервисов AWS). App. in cloud использует DynamoDB. Теперь мне нужно переместить данные с SQL Server в DynamoDB в два этапа:
1) Начальная массовая загрузка данных с SQL Server в DynamoDB
2) Непрерывное перемещение данных с SQL Server в DynamoDB, например, при добавлении нового пользователя в .В приложении NET Windows пользователь, добавленный в SQL Server, также должен быть создан в DynamoDB
Также существует третий этап (наоборот):
3) При создании пользователя в облачном приложении. пользователь, добавленный в DynamoDB, также должен быть создан на сервере SQL.
Ниже приведены несколько вещей, которые я проверил:
-
Служба миграции данных AWS — я чувствовал, что это изначально для массовой миграции данных, т. Е. Только на этапе 1. Можем ли мы выполнять непрерывную миграцию данных с помощью этого?
-
Я слышал, что могу добавить новые обновления базы данных в SQS, и они будут подобраны и перенесены в другую базу данных
Для достижения этой цели мне нужны некоторые рекомендации по методам проектирования.
Ответ №1:
Как вы уже знаете, первую часть можно выполнить легко, но вы не можете использовать ее для других 2 этапов.
Ниже приведены варианты, которые вы можете попробовать: 1. напишите небольшую функцию в самом коде .net, чтобы выполнять обе фазы 2 и 3 при любом запуске данных, который вам нужно скопировать.
2. Создайте сохраненный процесс с триггерным событием в обеих БД для копирования вновь введенных данных наоборот.
Можно использовать 3-SQS, но это будет дорогостоящей операцией и займет больше времени для реализации, поскольку вам нужна непрерывная подача.
Поэтому выберите тот, который соответствует вашим потребностям и требованиям к архитектуре.
Спасибо
Комментарии:
1. У меня есть служба Windows, которая продолжает опрашивать таблицу DB на предмет любых изменений. Если есть изменения, вызывается API, который переносит данные. Это работает. Но хороший ли это подход?
2. Если база данных не занята и не оказывает никакого влияния на производительность вашего приложения, тогда все в порядке. Но, пожалуйста, обратите внимание, что это очень сложный подход к обработке — опрос. Поэтому я бы предложил заменить его чем-то лучшим.