V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zhuzhuaini
V2EX  ›  Oracle

关于数据库主从同步的疑问

  •  
  •   zhuzhuaini · 2021-10-12 15:21:58 +08:00 · 1141 次点击
    这是一个创建于 898 天前的主题,其中的信息可能已经有所发展或是发生改变。

    想给数据库配置从库来达到多备份的目的,目前的备份方案为每天定时备份,感觉不安全,了解到主从备份这种机制,有一些疑问请求 V 友~

    原数据库备份出来的数据大概在 30G 左右(使用的是 EXP 备份,应该算比较大量的数据了吧)

    目前的疑问:

    由于数据库的硬件配置不算很好,经常会碰到读 IO 爆炸的情况,担心配置主从之后,加剧这种情况,我的想法是既然是配置了主从,那从库应该会经常要从主库去读数据,那在已经读 IO 爆炸的情况下,从库再去读主库的数据来同步,那应该是有影响的,想问的是会有多大的影响,配置主从同步之后,对主库会增加多大的压力?

    10 条回复    2021-10-12 23:55:31 +08:00
    FutherAll
        1
    FutherAll  
       2021-10-12 15:53:13 +08:00
    基于 binlog 同步的,不会频繁从主库读数据吧
    zhuzhuaini
        2
    zhuzhuaini  
    OP
       2021-10-12 17:23:32 +08:00
    @FutherAll 呃,,所以来了解下有没有做过这方面的心得给点建议~不敢贸然上手啊,而且这玩意还没法测试
    FutherAll
        3
    FutherAll  
       2021-10-12 18:01:55 +08:00
    @zhuzhuaini https://dev.mysql.com/doc/refman/5.7/en/group-replication-primary-secondary-replication.html
    从库是通过 I/O 线程拉取主库的 binlog 然后重放实现同步数据的,理论上是会增加主库的整体 I/O 压力,但是感觉还好。
    zhuzhuaini
        4
    zhuzhuaini  
    OP
       2021-10-12 19:20:50 +08:00
    @FutherAll 我这个是 oracle,也是拉取的 binlog 么
    adoal
        5
    adoal  
       2021-10-12 19:54:39 +08:00 via iPhone
    oracle 的叫 dataguard
    bg7lgb
        6
    bg7lgb  
       2021-10-12 20:34:17 +08:00   ❤️ 1
    oracle 同步通过归档日志完成的。同步的数据量取决于数据变动的数量,也就是产生的归档日志。IO 爆,考虑升级 ssd 或者调整数据库参数,profile 或者检查一下慢 SQL 的执行计划,然后进行调优。
    justfly
        7
    justfly  
       2021-10-12 20:54:00 +08:00   ❤️ 1
    听起来不会有太大影响,读 IO 爆炸,没有写的话,主从同步不会占用什么带宽,因为写的少需要同步的东西也少。
    zhuzhuaini
        8
    zhuzhuaini  
    OP
       2021-10-12 23:51:28 +08:00 via iPhone
    @bg7lgb IO 爆 已经升级 SSD 了,不过是普通的 sas ssd 应该走的 sata 协议 速度不快 读也就 400 多 M 估计还是要做数据库调优 但是我不会...先搞搞简单的主从备份 感谢你的回答
    zhuzhuaini
        9
    zhuzhuaini  
    OP
       2021-10-12 23:53:46 +08:00 via iPhone
    @justfly 喔 了解了 确实写的比较少 基本上大量的读操作,我寻思的是主从备份时 从库得去主库拉取变动的数据用于同步吧 那对于主库来说 这个拉取变动就是读操作啊 就是想先问问这个读的操作影响有多少
    zhuzhuaini
        10
    zhuzhuaini  
    OP
       2021-10-12 23:55:31 +08:00 via iPhone
    @justfly 比如我现在数据库 30g 第一次同步的时候肯定需要读 30g 的数据 这个可以理解 那我如果要实时备份 他不就得 实时的拉主库的变动数据么 这个读的量有多大
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3503 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 11:06 · PVG 19:06 · LAX 04:06 · JFK 07:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.