情况如下: 有一个事务密集型数据库 - 用于例行事务和报告。
我想知道我是否可以隔离这两个操作和2个独立的数据库,因此报告可能会运行一个数据库而所有事务都可能发生在另一个数据库中。这样可以提高OLTP SQL数据库的性能。
我已经了解了一些选项,如镜像,日志传送,复制,快照,群集 - 但我们想讨论所需结果的最佳策略。
请告知实施此策略的最佳解决方案,或您可能有的任何其他想法/建议。
答案 0 :(得分:3)
答案 1 :(得分:1)
您要求的是完全标准的 - OLAP和OLTP在重负载情况下不会混合。
您使用SQL Server。查看SSAS(SQL Server分析处理),了解可以报告的多维数据集(不同于SQL的方法)。
如果您没有这样做,那么镜像是下一个最佳解决方案 - 您可以将镜像联机以只读模式进行报告,并且它还为您提供备份以在主服务器出现故障时激活;)始终好。
CLustering是一个非问题 - 它允许您将数据库移动到另一个节点,但它根本无法解决性能问题。日志文件传送,复制 - 很好,虽然我会使用镜像,只读复制报告,将数据加载到SSAS。
答案 2 :(得分:1)
我们有一个读/写集群,它将(使用事务复制)复制到“只读”服务器(不是物理上只读,Web应用程序只对它们执行读取)。我们对报告也做同样的事情,这非常好。
我们在此配置中有多个站点,32个以上的服务器和几个报告服务器,具有非常大的插入,更新和读取量。
我们主要使用报告服务进行内部报告。报告不会影响我们的核心业务,我认为这是您的主要关注点。