MySQL生产环境部署架构

MySQL生产环境部署架构

常用的分库分表架构

按业务id分库分表,建立索引映射表同时进行分库分表,数据同步到ES做复杂搜索。

分库分表下如何分页

假设用户现在要查询自己的订单,同时订单要求要支持分页,该怎么做?

方案一:因为同一个用户的订单可能是分布在不同的库不同表的,需要建立一个索引表,

(user_id, order_id),这个表对user_id进行分库分表后,同一个用户的数据就会进入到同一张表里,

既然在同一张表里就可以利用mysql自带的分页机制。

方案二:加载到内存之中,在内存中分页。

对于主从同步保证高可用可选的模式

建议选用半同步方式,半同步方式也有两种情况,MySQL5.7之后默认是:当从库同步binlog成功后,才提交事务,返回成功给客户端。

对于主从同步延时如何提升

MySQL5.7之后已经支持多线程同步了,可以开启,提升速度。slave_parallel_workers>0,slave_parallel_type设置为LOGIGAL_CLOCK,可以使用percona-toolkit工具集里的pt-hearbeat工具,它会在主库里创建一个hearbeat表,然后有一个线程定时更新这个表里的时间戳字段,从库上就有一个monitor线程负责检查从库同步过来的heartbeat表里的时间戳。

基于主从复制实现故障转移

使用MHA进行故障转移,具体步骤网上例子很多

分库分表运行几年后,进行再次扩容应该怎么做

应该在设计之初就对增加表的情况say no,使得单表在20年后才有百万级的数据量。但是如果服务器存储空间耗尽,就要增加数据库服务器了,将旧表分散到不同服务器上,更改路由规则。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值