【发布时间】:2014-06-02 19:20:13
【问题描述】:
我想了解生产环境中 SQL Server 架构的最佳方法。
这是我的问题:
我有一个数据库,平均每秒在各种表中插入大约 20,000 条记录。
我们也实现了相同的报告,现在发生的情况是,每当用户搜索报告时,其他应用程序的性能就会急剧下降。
我们已经实现了
- 表分区
- 索引
- 以及所有其他必需的东西。
我的问题是:任何人都可以建议一种架构,该架构具有用于报表和应用程序的不同 SQL Server 数据库,并且每次在主 SQL Server 中输入新数据时,他们可以在线同步自己?
有些像主从架构。我了解主从架构,但需要了解更多关于它的想法。
我们的主表有大约 4000 万行(表分区已完成)
【问题讨论】:
-
不同的数据库不会拯救你。您正在耗尽服务器拥有的资源。无论是磁盘还是 CPU。这也可能是一个阻塞问题。您应该诊断并修复它,而不是使用第二个数据库进行核对。查看快照隔离。
-
我有大量的 CPU 和 RAM,即 64 核 CPU 和 132 GB RAM,我可以冒险让它在一定程度上耗尽。找出瓶颈、死锁等,并与团队一起解决。我想以最佳架构向管理层提出一个坚实的观点。
-
我没有得到那个声明。问题已经解决了吗?实际上,您可能不会耗尽 CPU,但可能会耗尽磁盘。单独的数据库几乎总是不是正确的解决方案,因为它会引起不必要的麻烦。
-
SQL Server 2012 及更高版本具有AlwaysOn availability groups 架构,它允许不断同步的副本,可以轻松用于例如报告等。
-
@marc_s 目前我们使用的是 Sql Server 2008 R2,近期没有升级到 2012 的计划,需要自行规划 2008 R2。
标签: sql sql-server sql-server-2008