数据迁移、MySQL数据转ES、不停机扩容、百万级别以上的数据如何删除、生产环境 更改表结构、修改线上表结构的风险、too many connections解决办法、InnoDB和MyISAM 区别

任务迁移(数据迁移)

任务思想处理数据迁移?失败? bug、硬件抖动

一张任务表,几个字段,任务id,名称,开始时间、结束时间以及状态

迁移的目标表加一个字段,任务id

当迁移任务开始,先往任务表里面插一条数据,生成任务id,名称,开始时间,状态,状态是进行中

往目标表里面插入一条数据,带上任务id,等到任务完成,更新任务表里面 状态和时间

中间出错了怎么办?

  1. 异常处理,将任务表里面任务状态,更新为任务失败,可以记录出错时的任务id,下次从这个id开始再跑数据
  2. 监控,判断一下未完成的任务 count总数是不是长时间没有变化,如果没有变化,任务可能失败,清除任务id下面的所有数据,重跑一下,不用考虑事务,还可利用多线程

MySQL转ES方案

在这里插入图片描述

不停机扩容怎么实现?

实际上,不停机扩容,实操起来是个非常麻烦而且很有风险的操作,当然,面试回答起来就简单很多。

  • 第一阶段:在线双写,查询走老库
  1. 建立好新的库表结构,数据写入久库的同时,也写入拆分的新库

  2. 数据迁移,使用数据迁移程序,将旧库中的历史数据迁移到新库

  3. 使用定时任务,新旧库的数据对比,把差异补齐

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值