关于数据迁移的方法、步骤和心得

简介:
关于数据迁移的方法、步骤和心得
在项目中经常会遇到系统完全更换后的历史数据迁移问题,以示对客户历史工作的尊重,何况很多数据仍有保留的必要。
那怎么做历史数据迁移呢?
 
系统分析:
1、分析原有的业务系统
精确到大致的系统功能模块、大致的处理流程即可
2、分析现有的业务系统
精确到大致的系统功能模块、大致的处理流程即可
3、分析两者自己的区别和差异
大致分析一下两个业务系统之间的区别,有助于确定工作量和工作进度
4、分析用户对旧有数据的需求
分析对旧有数据的需求,才不至于盲目的全部性的进行迁移
5、分析用户对旧有数据的处理规则
 
旧有数据的处理规则,一般分为以下几类:
1、基础数据,通常这一类容易迁移,数据格式简单,但是会影响所有的相关业务数据,关注点为数据的主键和唯一键的方式。
2、纯历史数据的导入,仅供参考用的,这一类数据导入容易
 2.1 纯历史数据
 这一类数据处理起来会比较容易,一次性导入即可,后续采用增量数据导入。
 2.2 流程性数据
 这一类数据只有在记录完全关闭后才能结束,需要进行增量导入和数据更新,同时还要进行相关查询界面的开发,以保证旧有数据能够在新系统中查询的到。
3、新老系统表结构变化较大的历史数据
 这一类数据的工作量是最重的,就需要仔细去研究新老业务系统的数据结构了。
 1、尽量通过甲方单位来收集齐全相关原系统的相关设计文档,这一点对数据分析很有帮助,通过人的感觉和对数据的观察来分析毕竟不太靠谱。
 2、在原系统上进行相关数据的观察,了解数据的变化和数据表数据的关系(对于比较难以理解的相关字段很有帮助)
 3、比较新老系统数据的差异,如果实在很不靠谱的话,建议按2.2去处理。
 
系统设计:
1、做完系统分析之后,对相关数据进行归类,基础数据、纯历史数据、变化较大的历史数据
2、先从简单的入手,给自己点信心
3、在excel表中进行相关表的数据字典对照,勾画出对应字段、转换逻辑、依赖关系、必要时在新系统表上做相应的冗余,等数据迁移完毕后再清除。

关键点:
不同数据库的字段类型的匹配问题,比如SQLServer的text,在oracle应该对应clob,但是宁愿转换成几个varchar2,从实现角度相对容易些。关于主键的问题,一致的数据类型尽量维持现有状态,不一致的尽量采用oracle的序列或sqlserver的identity int,但是迁移完毕后,要注意序列值的更新
 
系统实现:
1、PL/SQL或T-SQL,DTS、SSIS或者PowerBuilder的管道作为数据迁移的方式
2、相关业务逻辑的迁移,与数据完整性和业务相关的存储过程、触发器、函数的改写,甚至SQL的改写
3、业务查询页面的编写
 
后话:
1、数据迁移没有特别或高级的方法
2、对业务数据的分析最为关键,需要不断的尝试在新系统上不断的测试
3、数据迁移技术,主要通过SQL、存储过程、甚至游标来实现,优先级也如上
还有一种数据迁移仅仅是数据库的平迁或异构数据库迁移
数据库平迁,即为了性能扩展需要从一台服务器迁移到另外一台服务器上,用数据库的导出导入或备份恢复工具处理即可,当然也要考虑迁移后的一些序列字段的初始值。
异构数据迁移,即从一个数据库平台迁移到另外一个数据库平台,用ETL工具或SQL均可实现,不过要注意业务逻辑的迁移,即存储过程、函数、触发器之类的
 
 




本文转自baoqiangwang51CTO博客,原文链接:http://blog.51cto.com/baoqiangwang/310439 ,如需转载请自行联系原作者
相关文章
|
4月前
|
SQL DataWorks 数据处理
DataWorks常见问题之实时同步过程中遇到常见问题重新启动同步如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
|
4月前
|
SQL 分布式计算 DataWorks
maxcompute配置问题之配置回退的参数如何解决
MaxCompute配置是指在使用阿里云MaxCompute服务时对项目设置、计算资源、存储空间等进行的各项调整;本合集将提供MaxCompute配置的指南和建议,帮助用户根据数据处理需求优化其MaxCompute环境。
|
4月前
|
存储 分布式计算 DataWorks
DataWorks常见问题之目标表建立失败如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
|
存储 文件存储 对象存储
S3存储服务间数据同步工具Rclone迁移教程
目前大多项目我们都会使用各种存储服务,例如oss、cos、minio等。当然,因各种原因,可能需要在不同存储服务间进行数据迁移工作,所以今天就给大家介绍一个比较通用的数据迁移工具Rclone。
S3存储服务间数据同步工具Rclone迁移教程
|
3月前
|
关系型数据库 数据管理 数据库
数据管理DMS操作报错合集之在数据同步时遇到报错,该如何排查
数据管理DMS(Data Management Service)是阿里云提供的数据库管理和运维服务,它支持多种数据库类型,包括RDS、PolarDB、MongoDB等。在使用DMS进行数据库操作时,可能会遇到各种报错情况。以下是一些常见的DMS操作报错及其可能的原因与解决措施的合集。
|
2月前
|
关系型数据库 MySQL 测试技术
数据库升级是一个涉及数据备份、新版本安装、数据迁移和测试等关键环节的复杂过程
【7月更文挑战第21天】数据库升级是一个涉及数据备份、新版本安装、数据迁移和测试等关键环节的复杂过程
32 1
|
4月前
|
JavaScript 关系型数据库 Serverless
函数计算常见问题之导入数据报错如何解决
函数计算(Function Compute, FC)是阿里云提供的无服务器计算服务,它允许用户在无需管理服务器的情况下运行代码,但在配置和执行过程中可能遇到报错,本合集致力于梳理FC服务中的常见报错和配置问题,并提供解决方案,帮助用户优化函数执行环境。
189 0
|
2月前
|
分布式计算 DataWorks Java
DataWorks操作报错合集之无法连接到指定的数据库实例,该如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
3月前
|
SQL DataWorks 数据处理
DataWorks操作报错合集之在创建ES的数据源时,测试连通性提示无法连通,出现报错,如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
4月前
|
SQL 监控 Oracle
增量数据同步验证
增量数据同步验证
100 3