将mongo集合导出到SQL Server的最佳实践

Ste*_*rdi 7 sql-server mongodb

我们使用MongoDB(在Linux上)作为我们的主数据库.但是,我们需要定期(例如每晚)将Mongo中的一些集合导出到MS SQL服务器以运行分析.

我正在考虑以下方法:

  1. 使用mongodump备份Mongo数据库(可能来自副本)
  2. 将数据库还原到配置了Mongo的Windows计算机
  3. 编写一个自定义应用程序,将Mongo中的集合导入SQL(可能需要处理任何所需的规范化).
  4. 在Windows SQL Server安装上运行分析.

还有其他"经过验证的"替代方案吗?

谢谢,斯特凡诺

编辑:对于第4点,分析将在SQL Server上运行,而不是在Mongo上运行.

And*_*ich 3

总体看起来不错,但我可以建议两件事:

  1. 跳过备份/恢复步骤,直接从linux mongodb读取数据,因为随着数据库的增长,备份/恢复会越来越难。
  2. 它不是使用Quartz.net进行夜间导出的定制应用程序,而是易于使用并且可以解决任何其他计划任务。

我还可以建议研究cqrs 和事件溯源等新方法,这基本上可以避免导出任务。您可以实时处理消息并将数据存储到两个数据源(linux mongodb、windows sql server)中,延迟很小,甚至可以分析消息中的数据并将其存储在 mongodb 中。