我想了解生产环境中SQL Server架构的最佳方法。
这是我的问题:
我有数据库,平均每秒在各种表中插入约20,000条记录。
我们也为此报告实施了报告,现在发生的事情是用户搜索报告,其他应用程序的性能下降。
我们已实施
我的问题是:有人可以建议一个架构,它有不同的SQL Server数据库用于报告和应用程序,每次在主SQL Server中输入新数据时,它们都可以在线同步吗?
有些像Master和Slave Architecture的东西。我了解Master和Slave架构,但需要更多地了解它。
我们的主表有大约4千万行(表格分区完成)
答案 0 :(得分:1)
在SQL Server 2008R2中,您可以使用数据库镜像和复制,这将使两个数据库保持同步。
对于大容量报告,对OLTP有效的模式不太可能有效。 '直播'和'报告'数据库应具有不同的模式,ETL过程将数据从一个移动到另一个。我想与业务部门协商报告数据库需要的同步程度。如果报告正在处理大量数据,那么它们将需要一些时间来运行,因此不会注意到数据复制的延迟,我建议。 在extremis 中,您可以使用Service Broker构建解决方案,以便在报表服务器上移动数据并进行处理,以便将其分发到报表中。
您引用的数字(每秒20,000次插入,最大表中的4,000万行)表明记录不会长时间驻留在数据库中。执行DELETE
会有很大的负担。在高峰时段优化这些可能足以解决您的问题。