sql-server - 如何将 MongoDB 中的数据与 SQL Server 连接?

标签 sql-server mongodb synchronization

我有一个将数据存储到 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/

相关文章:

java - 使用 3 个 PetersonLock 的数组来同步 4 个进程

c# - 更改 SqlConnection 超时

sql-server - 使用从阶段文件复制到雪花中插入数据

javascript - 有没有办法限制 Meteor aldeed 表格包中发布的字段

java - Spring 启动 : gracefully shutdown by controlling termination order involving MongoClient

node.js - mongoose:mongodb update with multi true 不更新所有文档

Java 单例和同步

linux - FFmpeg 自动同步音视频

java - 使用 hibernate 调用 SQL Server 存储过程

sql-server - 如何防止 SSMS 在文件 "Look In"中查找和替换发生更改