从 SQL 服务器和 Azure DocumentDB 查询数据?
Query data from both SQL Server and Azure DocumentDB?
我们有一个相当大的 SQL 服务器数据库来跟踪电子邮件通讯的订阅者(目前大约有 10 万用户),我们正在构建一些东西来跟踪发送的每个通讯的数据,包括每个人是否有 bounced/received/viewed/clicked 封电子邮件。因此,这可能会导致统计表中有数百万行,我们正在考虑第一次尝试使用 Document DB。
我的问题是是否可以同时查询 SQL 服务器和文档数据库中的数据。也许有一种方法可以直接加入,或者使用 C# 中的 LINQ。我不是专家,但我知道您可以同时查询多个 SQL 服务器数据库。
主要是我们需要能够通过使用其唯一的订阅者 ID 来交叉引用主订阅者列表和保存在文档数据库中的所有数据。
SQL Server 和 DocumentDB 是完全独立的引擎。您需要在客户端/应用服务器中构建自己的双重查询代码。如何实现完全取决于您:没有 "right" 方法可以做到这一点。
注意:这是 "polyglot persistence" 的常见场景 - 在单个应用程序中混合使用多个存储引擎。没有灵丹妙药可以让您同时查询多个存储系统。您只需要根据需要处理每个存储系统即可。
几乎任何两个不同的数据库引擎都会出现这种情况(多数据库系统查询的想法)。
是的,您可以...只需在 SSMS 中链接服务器。从这里 https://docs.microsoft.com/en-us/azure/cosmos-db/odbc-driver 下载 ODBC 驱动程序。
一旦设置了 ODBC 驱动程序,您也可以直接通过 Visual Studio 和 运行 查询连接。一切都完全SQL(不需要C#,如果是C#,使用Linqpad)
SSMS
我们有一个相当大的 SQL 服务器数据库来跟踪电子邮件通讯的订阅者(目前大约有 10 万用户),我们正在构建一些东西来跟踪发送的每个通讯的数据,包括每个人是否有 bounced/received/viewed/clicked 封电子邮件。因此,这可能会导致统计表中有数百万行,我们正在考虑第一次尝试使用 Document DB。
我的问题是是否可以同时查询 SQL 服务器和文档数据库中的数据。也许有一种方法可以直接加入,或者使用 C# 中的 LINQ。我不是专家,但我知道您可以同时查询多个 SQL 服务器数据库。
主要是我们需要能够通过使用其唯一的订阅者 ID 来交叉引用主订阅者列表和保存在文档数据库中的所有数据。
SQL Server 和 DocumentDB 是完全独立的引擎。您需要在客户端/应用服务器中构建自己的双重查询代码。如何实现完全取决于您:没有 "right" 方法可以做到这一点。
注意:这是 "polyglot persistence" 的常见场景 - 在单个应用程序中混合使用多个存储引擎。没有灵丹妙药可以让您同时查询多个存储系统。您只需要根据需要处理每个存储系统即可。
几乎任何两个不同的数据库引擎都会出现这种情况(多数据库系统查询的想法)。
是的,您可以...只需在 SSMS 中链接服务器。从这里 https://docs.microsoft.com/en-us/azure/cosmos-db/odbc-driver 下载 ODBC 驱动程序。 一旦设置了 ODBC 驱动程序,您也可以直接通过 Visual Studio 和 运行 查询连接。一切都完全SQL(不需要C#,如果是C#,使用Linqpad)
SSMS