首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 其他相关 >

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

2012-11-06 
做数据迁移,升级,初始化时需要注意的事情准备工作——————————?1 充分理解需求,理解原始需求,一定要弄清楚为

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

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

?

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

?

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

?

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

?

?

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

?

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

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

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

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

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

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

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

8 code review 是必须的。

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

?

热点排行