2

我在不同的服务器上有多个数据库,其中一台服务器跨 WAN。该应用程序需要访问所有服务器上的数据,并可能加入 ServerA 上的一个表 A(本地)和 ServerB 上的一个表 B(跨 WAN)。最好的设计模式是什么?我在想,与其使用 SQL Server 链接服务器,不如在应用服务器上设置一个服务层来聚合数据(进行多次调用,每个数据库调用一次)。

这并不重要,因为我们正在讨论设计模式和最佳实践,但该应用程序是一个 .NET 应用程序,并且该服务可能是使用 TCP 绑定的 WCF 服务。

我的 DBA 建议我们编写一个存储过程并使用链接服务器加入另一个表。我担心这个解决方案是不可扩展的。

有什么建议吗?

4

1 回答 1

0

这真的取决于。如果您有读取请求的模式,则可以使用某种数据管道在服务器 A(作为视图)中创建远程数据的副本。如果远程数据可以保存在其他地方,这将受到规则的约束。您建议的解决方案也有效,但不会像预期的读取请求那样高效。

于 2020-06-27T21:13:45.093 回答