我有一个将数据存储到MongoDB数据库的系统。现在我需要将部分数据(每条记录中的十几个字段)与存储在Microsoft SQL Server 2008中的大型数据集连接起来。怎么做?
两个数据库都不断积累数据,查询应该始终包含新的数据(几分钟的延迟是可以的)。我预计mongodb上每天会有几千条新的或更新的记录,并且无法修改sql server数据库。
一种解决方案是将mongodb中新的和更新的数据同步到sql server中的一个新数据库,然后在那里进行查询和连接。是否有用于同步的工具,这应该在应用程序级别上完成,还是以其他方式完成?如何为SQL Server中导致不一致的(罕见的)停机做好准备?

最佳答案

首先,我会看看你选择数据的方向。如果您有一个给定mongo文档的集合,并且想要与之相关的所有sql server数据,那么如果集合不是很大,条件也不复杂,那么只需使用传统的循环。
另一方面,如果连接条件相当复杂且相互耦合(即跨所有mongo文档和sql server行以及许多字段和列),那么只有sqlserver才能真正执行得很好(给定适当的索引)
您可以mongoexport将更改的文档集合导出到csv,然后在sql server中执行upsert,然后在本机sql中执行联接。从现有的SQL数据库到同一服务器上的另一个数据库的连接通常都是高性能的—在开始时安全检查的开销会稍大一些,

关于sql-server - 如何将MongoDB中的数据与SQL Server连接?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8524918/

10-09 08:13
查看更多