首页 > 解决方案 > 为什么复制数据库的压力较小?

问题描述

如果可以就数据库复制进行高级对话,那就是我正在寻找的。

想象一下,我有一个复制的只读数据库,旨在将其用于报告。好处是用户不会为报告数据而敲击主数据库,这些查询被卸载到辅助数据库。但是,如果我设置了实时交付,那么现在辅助数据库正在从主数据库获取读取请求以及更新语句。您的复制数据库不会容易发生故障,就像您将一个数据库用于事务和报告功能一样吗?

换句话说,与读写事务数据库会遇到的常见 CRUD 操作相比,任何实时复制方法(我只熟悉日志传送)的性能优势是什么?

标签: databasereplicationdatabase-performancedatabase-replication

解决方案


A没有复制你有:

  1. 在主服务器上,您拥有:
    • 选择语句,
    • DML 语句,
    • 报告报表。

如果您创建复制,则:

  1. 在小学你有:

    • 选择语句,
    • DML 语句。
  2. 在复制品上,您有:

    • DML 语句,
    • 报告报表。

您没有从源上的 SELECT 语句生成的负载。所有基于日志的复制系统都不会将 SELECT 语句复制到复制系统。它们不会更改数据,并且在数据库日志中没有它们的踪迹。

更高级的复制系统也不会复制已回滚的 DML 语句(以 ROLLBACK 语句结束)。只有提交的语句被复制(以 COMMIT 语句结束)。


推荐阅读