做数据迁移,升级,初始化时需要注意的事情

本文提供了一套详尽的数据操作准备及实施指南,强调了理解需求、评估风险的重要性,并给出了具体的操作建议,如数据备份、脚本编写及测试等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

准备工作——————————

 

1 充分理解需求,理解原始需求,一定要弄清楚为什么要做数据操作。不做数据操作就不能完成需求?然后再其他技术的选择上和数据迁移的选择上进行一个权衡。能不做的尽量不做。千万不要出现因为数据操作而数据操作,埋头写脚本的情况。这样的脚本往往是危险的。

 

2 对线上遗留数据,持充分的怀疑态度。绝对不要相信,数据是100%由现在的线上运行的程序跑出来的。这些遗留的数据很有可能经过很多其他人的维护,比如数据订正,比如程序bug,比如数据初始化,从而导致存在“脏数据”。特别是运行了1年以上的系统,特别是上线匆忙的系统,特别是上线后bug非常多的系统。一定不要相信这些系统生成数据都是符合要求的数据。

 

3 充分理解线上数据库的环境,以及做数据操作可能涉及到的表结构和业务。这次数据操作涉及到几张核心表,有多少张表与它们有关联,是否可以忽略不重要的数据,是否存在触发器。数据迁移后,能否保证这次操作后的数据,能够正常的run在系统里面,不会导致核心业务因为“脏数据”流不下去。

 

 

细节的工作--------------------

 

1 大批量数据,重要核心数据在处理前,必须备份。

2 做数据操作前先去摸底,看看需要处理的是多少的数据量。

3 写好check脚本。如果数据操作的时候,需要多步执行,这需要建立检查点,进行check。

4 写脚本时尽量让脚本支持断点重跑。

5 如果存在很多的更新、插入操作,涉及的表又多时,把每一次提交的量放少点。

6 最后能够标示出这次数据操作的数据,具有特殊的标示,有利于检查和回滚操作。

7 如果条件允许,尽量在仿真数据上测试,量要上来,评估出时间。

8 code review 是必须的。

9 在做数据操作时,其他有可能影响数据的业务系统需要评估风险。是否可以同时数据操作,同时业务系统工作,还是需要业务系统停机支持?

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值