昨天我们讲解了数据库分库分表后我们怎么去生成主键唯一ID(数据库分库分表后,我们怎么保证ID全局唯一),到目前为止我们已经掌握分库分表的策略了也会搭建统一发号器进行生成唯一ID。
现在有个问题就是,我们的线上已有数据目前都是在单库单表里面,这个现有线上的库表数据肯定是未经过分库分表的。而我们该怎么将这些数据使用到我们现在的多库多表上来呢?那么,今天我们就来讲一讲我们的分库分表该怎么来部署生产环境。一般会有两种方案,一个将我们的系统停止对外服务,另一个则是系统不停机,依然要将数据进行迁移到新的分库分表中。下面我们来看看这两种方案该怎么去实施。
01
停机部署
我们最先想到的方法应该就是停机部署了吧,在前几年我们做些数据库的跑批啥的也都是这么干的。也就是说将我们的对外服务给停掉,然后在我们的APP上或者是网站上挂上通告,说我们在0点到6点需要进行系统升级,在此期间暂停服务啥的。总之,就是在我们暂停服务的那段时间里需要告知用户一下。那我们应该怎么做呢?

有什么缺点:
这样的停机部署方案比较直接,如果你们的系统可以接受短暂几个小时的停机,是可以采用这种方式的。但是如果不能接受的话,我们就需要在不停机的条件下将数据给迁移到新的库表中去,下面我们来看看不停机数据迁移方案。
02
不停机部署
在不停机条件下需要对数据的迁移,这里推荐我们常用的一种方案,也就是在线双写的机制。

总结,今天我们讲解了我们该怎么针对生产环境数据进行分库分表迁移,一共讲到了两种方案,停机部署迁移数据和不停机部署迁移数据。从目前的互联网行业来看,选择不停机迁移数据是一种比较合理的生产环境分库分表迁移方案,即将在线双写机制然后联合后台数据迁移合理运用,就能达到很好的实现分库分表方案。