Передача данных между базами данных NoSQL и SQL на разных серверах - PullRequest
0 голосов
/ 05 июня 2018

В настоящее время я работаю над веб-приложением MERN, которое должно будет взаимодействовать с базой данных Microsoft SQL Server на другом сервере, но в той же сети.

Данные будут только «перенесены» из базы данных Mongo в базу данных MSSQL на основе действий пользователя.Я думаю, что я могу сделать это, просто преобразовав данные для передачи в соответствующий формат на моем сервере Express и подключившись к MSSQL через соответствующий API.

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

Являются ли какие-либо из этих решений разумными или есть более лучшие / стандартные методы, которые я должен использовать.Любая помощь очень ценится!

1 Ответ

0 голосов
/ 05 июня 2018

Есть (в общем) два способа сделать это.

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

Более широкий вопрос: нужно ли вам дублировать данные в двух разных источниках?Очевидным недостатком этого подхода является согласованность: в случае неудачи вы можете получить два источника данных, которые совершенно не синхронизированы друг с другом, и ваш подход должен учитывать это.

...