分库分表常见问题

  • 一张表数据量达到500w到1000w就要进行分库分表
    一般分为两种:
  1. 垂直拆分:垂直拆库,根据业务拆分成不同的数据库
    在这里插入图片描述
  2. 水平拆分:水平拆表,一张表拆成多个
    在这里插入图片描述

hash分表

根据id取模的方式计算应该被放入哪站表,迁移起来困难但没有热点问题,承担压力的表可能有多张,减少并发加锁的概率。

range分表

根据范围进行分表,比如0-1000万放入0表,1000万-2000万放入1表,不需要迁移数据有热点问题,并发高的情况下,很多操作全都针对同一张表,一些加锁操作影响性能。

数据迁移

  1. 停机迁移
    在这里插入图片描述
  2. 不停机迁移
    在这里插入图片描述
  • 1.分批进行迁移(全量同步),2.根据数据库binlog日志监听将修改的数据再重新写入新的数据库中(增量同步)
  • 出现的问题:全量和增量同步会有先后顺序问题,比如先通过binlog执行了一条update语句但是全量同步那里还没执行insert语句,会造成新库中还是老数据,所以执行update和delelet语句的时候如果影响条数是0可以放到mq延迟队列中一段时间之后重新执行一次。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值