浅谈对数据迁移与割接的研究

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

关于对数据迁移与割接的研究

将原信息化管理系统中的大量有效的历史数据导入到新版应用系统中,这对新系统正常运行有着重要影响,保证了对大量历史数据的正常使用,从而在不影响所有用户工作的前提下完成信息化管理系统的升级改造工作。在现有信息化管理系统所积累的大量数据,需要仔细衡量历史数据的有效性和对新系统的影响以及数据迁移的方式和方法。而这决不仅仅是异构数据库、不同存储设备之间数据迁移那么简单,它更像是对原应用系统数据以及原系统业务流程的重新审视和考核。

建议最好能提供原信息系统的相关文档资料,安排长期应用旧系统的人员参与到数据迁移工作中,以了解新旧系统的数据库和有关字段,避免数据字段对应错误,或者其他更有效的方式协作共同做好数据的迁移工作。所以数据迁移系列工作是需要各个部门共同讨论,协调完成。

1 数据迁移的策略与方法

数据迁移的内容是整个数据迁移的基础,需要从信息系统规划的角度统一考虑,可从横向的时间和纵向的功能模块两个角度考虑,从而因地制宜地采用不同数据迁移策略和方法。

1.1 数据迁移策略

1.1.1 横向划分

以产生数据的时间为划分依据,优先考虑迁移与当前日期较近的数据,这样可以尽可能缩小新系统由于历史数据问题对用户的影响,而那些相对比较久远的数据可以分批次进行数据迁移。

1.1.2 纵向划分

以处理数据的功能模块为划分依据,需要考虑在新系统中没有被包含的功能

模块所涉及数据的处理问题。这类数据由于无法建立映射关系,一般不需要迁移到新系统中。但对于模块间偶合度比较紧密的旧系统,在纵向划分时需要注意数据的完整性。对于新旧系统均包含的功能模块的数据,需要进一步分析主要核心字段信息以及各功能模块相互关联的数据信息的迁移,但切忌贪图数据的高完整性。

1.2 数据迁移的方法

根据不同的迁移划分,我们采取不同的数据迁移的策略和方法。迁移方法主要有一次迁移、分次迁移、先录后迁、先迁后补等几种方式可供选择。我们根据实际情况,选择最适合数据迁移的方法来进行数据迁移工作。

1.2.1 一次迁移

一次迁移的前提是新旧系统数据库差异不大,允许的宕机时间内可以完成所有数据量的迁移。

优点:迁移实施的过程短,相对分次迁移,迁移时涉及的问题少,风险相对比较低。

缺点:工作强度比较大,由于实施迁移的人员需要一直监控迁移的过程,如果迁移所需的时间比较长,工作人员会很疲劳。一次迁移的前提是新旧系统数据库差异不大,允许的宕机时间内可以完成所有数据量b的迁移。

1.2.2 分次迁移

分次迁移是通过数据迁移工具或迁移程序,将需要的历史数据分几次迁移到新系统中。分次迁移一般在系统切换前先迁移将静态数据和变化不频繁的数据,例如代码、用户信息等,然后在系统切换时迁移动态数据,例如交易信息,对于静态数据迁移之后发生的数据变更,可以每天同步到新系统中,也可以在系统切换时通过增量的方式一次同步到新系统中。

优点:分次迁移可以将任务分开,有效地解决了数据量大和宕机时间短之间的矛盾。

缺点:分次切换导致数据多次合并,增加了出错的概率,同时为了保持整体数据的一致性,分次迁移时需要对先切换的数据进行同步,增加了迁移的复杂度。

1.2.3 先录后迁

先录后迁主要针对新旧系统数据结构存在特定差异的情况,即对于新系统启用时必需的期初数据,无法从现有的历史数据中得到。

优点:最大程序上减少了新旧系统因数据差异性所带来的影响。

缺点:工作强度大。

1.2.4 先迁后补

先迁后补是指在系统切换前通过数据迁移工具或迁移程序,将原始数据迁移到新系统中,然后通过新系统的相关功能,或为此专门编写的配套程序,根据已经迁移到新系统中的原始数据,生成所需要的结果数据。

优点:减少迁移的数据量。

缺点:不能及时满足用户对历史数据的使用要求。

2 数据迁移的实施方案

数据迁移的实现可以分为三个阶段:数据迁移前的准备、数据迁移的实施、数据回退措施和数据迁移后的校验。根据数据迁移的特点,大量的工作都需要在准备阶段完成,充分而周到的准备工作是完成数据迁移的主要基础;数据迁移的实施是实现数据迁移的三个阶段中最重要的环节,根据实际情况,灵活选择数据迁移方法;数据迁移后的校验是对迁移工作的检查,数据校验的结果是判断新系统能否正式启用的重要依据。

2.1 数据迁移的技术准备

数据迁移通常包括多项工作:旧系统数据字典整理、旧系统数据质量分析、新系统数据字典整理、新旧系统数据差异分析、建立新旧系统数据之间的影射关

系、开发部署数据转换与迁移程序、制定数据转换与迁移过程中的应急方案、实施旧系统数据到新系统的转换与迁移工作、检查转换与迁移后数据的完整性与正确性。

1. 数据格式检查:检查数据的格式是否一致和可用。

2. 数据长度检查:检查数据的有效长度。

3. 区间范围检查:

检查数据是否包含在定义的最大值和最小值的区间中;例如年龄为300,或录入日期在4000-1-1。

4. 空值、默认值检查:

检查新旧系统定义的空值、默认值是否相同,不同数据库系统对空值的定义可能不同,需要特别关注。

5. 完整性检查:

检查数据的关联完整性。如记录引用的代码值是否存在,特别需要注意的是有些系统在使用一段时间后,为了提高效率而去掉了外键约束。

6. 一致性检查:

检查逻辑上是否存在违反一致性的数据,特别是存在分别提交操作的系统。

2.2 迁移实施

数据迁移程序的开发、部署主要有两种选择,即自主开发程序或购买成熟的产品。这两种选择都有各自不同的特点,选择时还要根据具体情况进行分析。纵观目前国内一些大型项目,在数据迁移时多是采用相对成熟的ETL产品。可以看到这些项目有一些共同特点,主要包括:迁移时有大量的历史数据、允许的宕机时间很短、面对大量的客户或用户、存在第三方系统接入、一旦失败所产生的影响面将很广。同时也应该看到,自主开发程序也被广泛地采用。相关的ETL产品,如Informix的InfoMover、Microsoft SQL Server 7的DTS和Oracle的Oracle Warehouse Builder,Ascential Software公司的DataStage。

数据迁移可以采取不同的方法进行,主要有三种方法,即系统切换前通过工具迁移、系统切换前采用手工录入、系统切换后通过新系统生成。

1) 系统切换前通过工具迁移

相关文档
最新文档