当前位置:   article > 正文

订单分表分库方案_订单表如何分表

订单表如何分表
一.检查迁移原则:
1.开启新表查询逻辑时,不能出现新表与旧表数据及状态不一致。否则会有数据错误问题。
2.迁移并行期间,如果出现错误,要有预案
3.分阶段,小步迁移,做好开关,出现异常回退
4.数据对账,业务对账用于发现问题
5.启用新表查询逻辑后,根据旧的业务单查询要能查到。
在迁移时间点前的订单号是旧订单号,这里需要建立一个旧订单号与新订单号的映射表。
二.迁移流程
1.创建表,离线同步数据,新表上有个字段存储旧订单号。
这步需要将旧表的订单全部同步到新表,对应需要生成新的订单记录。
这步后,新表与旧表会相差一小部分增量进来的订单。后面需要补足。
2.上线新后台,双写阶段,旧表新表,一起写。记录下这个时间点。
这个阶段,新写入的订单需要新旧表一起写,对外还是以旧订单号。
这个阶段创建的订单,能够保证状态都是一致的,更新也是新旧订单一起写,一个事务。
在做补偿时,如果发现旧表有订单,则记录error log,这时暂时不处理。这部分订单就是在上线第2步时产生的增量数据。
不会很多。
补偿时,如果发现新表也有订单,则成功补偿后,一个事务更新。
这步出现异常,可以回退版本。
3.每天检查新旧表数据量是否相同,并且新旧表的记录是否一致。包含状态一致。有异常的,需要介入处理。
检查旧表存在,新表没有的,需要在新表生成新订单。
4.运行一周,然后检查在第2步【上线新后后,双写阶段】之前的订单新旧表是否一致。
这里,如果存在不是终态的,如果也没在新表里,在之后启用新表后查询会有问题。通常未完成订单需要补单。
5.都没问题后,某个业务的新表查询,这部分主要拿一个相对不重要的业务做试点,试运行二周.
这步相当于这个试点业务,已经完全采用新表逻辑了,因为新旧表是双写,这里新表查询也开启了。
这步如果发现有异常,则将新表查询回退到旧表查询,用开关控制,对应需要看具体异常具体处理。
6.试点业务运行正常,则开启另外几个业务。试运行四周。
出现异常,如果发现新表查询这个逻辑有问题,需要回退到旧表查询,用开关控制。
7.所有都运行正常,相当于新表查询已经对全业务开启。运行二个月,然后之后没问题再停止旧表的写入。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/代码探险家/article/detail/961089
推荐阅读
相关标签
  

闽ICP备14008679号