我在不同的服务器上有多个数据库,其中一个服务器在WAN上。该应用程序需要访问所有服务器上的数据,并可能加入ServerA(本地)上的一个tableA和ServerB上的TableB(跨WAN)。这个最好的设计模式是什么?我在想,不是使用SQL Server链接服务器,而是在应用服务器上有一个服务层来聚合数据(进行多次调用,每个数据库一个)。
这并不重要,因为我们讨论的是设计模式和最佳实践,但该应用程序是一个.NET应用程序,该服务可能是使用TCP绑定的WCF服务。
我的DBA建议我们编写一个sproc并使用链接服务器加入另一个表。我担心的是这个解决方案不具备可扩展性。
有什么建议吗?
答案 0 :(得分:0)
这真的取决于。如果您有读取请求的模式,则可以使用某种数据管道在服务器A中创建远程数据的副本(作为视图)。如果可以将远程数据保留在其他位置,则要遵守规则。您建议的解决方案也可以工作,但性能不如预期的读取请求。