我有一个在多个大洲使用的网络应用程序。运行大型报表时,基础事务DB将锁定。我想:
理论上,这将阻止插入和更新的事务锁定。只要事务继续,报告数据库就会暂时被锁定,这是可以的。报告数据库可以在较轻负载时接收新事务。维护事务数据库的近实时副本的最佳方法是什么?我应该使用复制,镜像还是两者的组合?我应遵循哪些一般准则?
谢谢!
答案 0 :(得分:3)
镜像=整个数据库,复制是子集通常 based on what you "publish"
在这种情况下,如果您需要接近实时,我会使用复制。如果报告可能会滞后几分钟或者报告在一段时间内应该是“静态的”,我会考虑镜像。
答案 1 :(得分:2)
使用Sql Server replication来实现此类架构。例如。将数据从主数据库服务器复制到报告服务器。它不是很实时(很少有系统),但可能非常接近。
有几种版本的Sql Server复制,您可能需要server-to-server.另请参阅有关data warehousing and reporting的文章。它描述了您遇到的确切情况以及您的目标:
按设计,事务复制 解决了主要要求 对于这种情况: