我有一个将数据存储到 MongoDB 数据库中的系统。现在我需要将部分数据(每条记录中的十几个字段)与存储在 Microsoft SQL Server 2008 中的大型数据集连接起来。如何做到这一点?
两个数据库都不断积累数据,查询应始终包含新鲜数据(几分钟的延迟是可以的)。我预计 MongoDB 上每天会有数千条新记录或更新记录,并且无法修改 SQL Server 数据库。
一种解决方案是将 MongoDB 中的新数据和更新数据同步到 SQL Server 中的新数据库,然后在那里进行查询和联接。是否有用于同步的工具,应该在应用程序级别上完成还是以其他方式完成?如何为 SQL Server 中导致不一致的(罕见)停机做好准备?
最佳答案
首先,我会看看你的数据选择的方向。如果您有给定 Mongo 文档的集合,并且想要与它们相关的所有 SQL Server 数据,那么如果集合不大并且条件不复杂,您只需使用传统循环即可。
另一方面,如果连接条件非常复杂且耦合(即跨所有 Mongo 文档和 SQL Server 行以及许多字段和列),则只有 SQL Server 才能真正执行得那么好(给定适当的索引)
你可以mongoexport将更改的文档集合导出到 CSV,然后在 SQL Server 中执行更新插入,然后在 native SQL 中执行联接。从现有 SQL 数据库到同一服务器上的另一个数据库的联接通常性能很高 - 一开始的安全检查开销会稍多一点,
关于sql-server - 如何将 MongoDB 中的数据与 SQL Server 连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8524918/