在不同服务器上的 NoSQL 和 SQL 数据库之间传输数据
Transfer data between NoSQL and SQL databases on different servers
目前,我正在开发一个 MERN Web 应用程序,它需要与同一网络上不同服务器上的 Microsft SQL 服务器数据库进行通信。
数据只会 "transferred" 从 Mongo 数据库到 MSSQL 一个基于用户操作的数据库。我想我可以通过简单地将数据转换为我的 Express 服务器上的适当格式并通过匹配 API 连接到 MSSQL 来实现这一点。
另一方面,当记录中的某个字段更新时,数据将从 MSSQL 数据库传输到 Mongo 数据库。我想我可以使用触发器来完成此操作,但我不确定如何操作。
这些解决方案听起来是否合理,或者是否有更多 better/industry 我应该采用的标准方法。非常感谢任何帮助!
(通常)有两种方法可以做到这一点。
- 如果需要立即进行数据传输,您可以使用触发器来完成此操作,但请注意您的错误处理。
- 另一种选择是用您最喜欢的脚本语言开发某种形式的工作进程,并运行按计划进行。 (这是我的首选,因为我个人对触发器的熟悉程度相当有限)。如果选项 1 不可行,您可以将计划设置得非常频繁,比如每分钟一次或每 x 秒一次,只要新任务不会在前一个任务之前产生已完成。
但更广泛的问题是,您是否需要 跨两个不同来源复制数据?这种方法的明显缺陷是一致性,如果出现任何问题,您最终可能会得到两个彼此完全不同步的数据源,您的方法必须考虑到这一点。
目前,我正在开发一个 MERN Web 应用程序,它需要与同一网络上不同服务器上的 Microsft SQL 服务器数据库进行通信。
数据只会 "transferred" 从 Mongo 数据库到 MSSQL 一个基于用户操作的数据库。我想我可以通过简单地将数据转换为我的 Express 服务器上的适当格式并通过匹配 API 连接到 MSSQL 来实现这一点。
另一方面,当记录中的某个字段更新时,数据将从 MSSQL 数据库传输到 Mongo 数据库。我想我可以使用触发器来完成此操作,但我不确定如何操作。
这些解决方案听起来是否合理,或者是否有更多 better/industry 我应该采用的标准方法。非常感谢任何帮助!
(通常)有两种方法可以做到这一点。
- 如果需要立即进行数据传输,您可以使用触发器来完成此操作,但请注意您的错误处理。
- 另一种选择是用您最喜欢的脚本语言开发某种形式的工作进程,并运行按计划进行。 (这是我的首选,因为我个人对触发器的熟悉程度相当有限)。如果选项 1 不可行,您可以将计划设置得非常频繁,比如每分钟一次或每 x 秒一次,只要新任务不会在前一个任务之前产生已完成。
但更广泛的问题是,您是否需要 跨两个不同来源复制数据?这种方法的明显缺陷是一致性,如果出现任何问题,您最终可能会得到两个彼此完全不同步的数据源,您的方法必须考虑到这一点。