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

时间:2012-02-22 09:05:56

标签: sql-server mongodb

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

我正在考虑以下方法:

  1. 使用mongodump备份Mongo数据库(可能来自副本)
  2. 将数据库还原到Mongo所在的Windows机器
  3. 编写一个自定义应用程序,将Mongo中的集合导入SQL(可能需要处理任何所需的规范化)。
  4. 在Windows SQL Server安装上运行分析。
  5. 还有其他“经过验证的”替代方案吗?

    谢谢,  斯特凡诺

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

1 个答案:

答案 0 :(得分:3)

整体看起来不错,但我可以提出两点建议:

  1. 直接从linux mongodb跳过备份/恢复步骤并读取数据,因为随着数据库的增长,备份/恢复数据将越来越难。
  2. 使用Quartz.net进行夜间导出,而不是自定义应用程序,它易于使用,可以解决任何其他计划任务。
  3. 此外,我可以建议研究cqrs and event sourcing这样的新方法,这基本上可以避免导出任务。您可以实时处理消息并将数据存储到两个数据源(linux mongodb,windows sql server),延迟很小,甚至可以分析消息中的数据并存储在mongodb中。