凡事预则立,不预则废。
数据迁移工作是一件繁琐而庞杂的工程,没有一个合理的规划,工作只会拖沓混乱,最后拖了整个项目的后腿,因此,在前期工作中,迁移计划必不可少。
在实际工作中,很多场景都需要你给出数据迁移的方案。
比如某一天,老板想要将应用从自建机房迁移到云上,那么就要考虑将所有自建机房中的数据,包括 MySQL、Redis和消息队列等组件中的数据,全部迁移到云上,这无论对哪种规模的公司来说都是一项浩瀚的工程,所以需要在迁移之前,准备完善的迁移方案。
“数据的迁移”的问题比较重要,也比较繁琐,那么如何制定迁移计划呢?确定五个“H”:what、who、when、where、how
What:数据范围
数据范围是数据迁移工作的基础,其完整性和准确性都决定了项目上线的质量。需确认以下范围:
①上线组织的范围,需考虑上线组织的架构是否包含所有需上线的公司。
②时间范围,考虑是否需要所有历史数据,还是选择某个时间段的数据。
③数据范围,包含了静态数据和动态数据。
静态数据一般指常用的不怎么变化的数据,比如会计科目、国家或币种名称等;动态数据一般指经常变化的业务数据,比如单据信息、科目余额等。
Who:数据确认
数据的准确性需要业务部门进行确认。经历岁月摧残的旧系统中,往往存在数据冗杂和数据无效的情况。
我们常说“取其精华,弃其糟粕”同样可以运用在数据确认的工作中。那么谁来确认数据的精华和糟粕呢?
需要熟悉业务的业务部门进行数据的梳理,包括清除系统的数据差异、删除重复数据以及确认数据的真实性和可靠性。
When:迁移时间
数据可以贯穿整个项目,包括业务调研、蓝图设计、功能实现和测试工作,每个环节都离不开数据。
合理有效的时间设计可以为各个项目阶段添砖加瓦。数据迁移工作时间包括了数据清理时间、数据确认时间以及数据上线时间。时间节点把握需要抓紧不抓松,紧前不紧后。
Where:迁移地点
数据迁移无非是从旧系统迁移到新系统,不过需要考虑其他的配套系统,不同系统中间的数据交互关系需要提前进行确认。
How:迁移方式
数据迁移方式基本就是旧系统的导出到新系统的导入,工具从手工配置、EXCEL、LSMW、万能工具导入、到数据库导入等不胜枚举,关键是看哪种工具能实现简便高效地导入导出数据。如果两个或多个系统之间有接口关联,还可以通过接口传输的方式迁移数据。
虽然说,好的计划是成功的一半,但是在执行过程中总会遇到各类问题,在这个过程中就要根据需要对计划进行合理的调整,比如时间调整、数据导入方式的调整等。
此外,在做数据迁移时我们要遵循几点标准:
数据一致性:迁移完数据不能丢记录,单条记录的数据不能缺字段。
不停机:数据在不断的写入,不能为了阻止写入,而不允许数据写入,需要保证业务写入的可用性。
迁移过程可中断、可回滚:这点要求很高,是确保数据万无一失的策略。在迁移数据的各个阶段发现有问题,都可以回滚到原来的库,保证业务正常运行。
END
发布者:调研工厂,转载请注明出处:https://baike.survey.work/data-migration/