一种基于海量数据迁移的数据抽取加载方法技术

技术编号:15500051 阅读:46 留言:0更新日期:2017-06-03 22:05
本发明专利技术公开了一种基于海量数据迁移的数据抽取加载方法,其实现过程为:首先进行数据抽取,通过创建临时用户,使外部表与数据源分离,对海量数据进行分区并行切分产生若干个dump文件;然后进行数据加载,即对数据进行解析与处理,转换过滤异常数据,最终采用批量导入数据的方式将数据迁移到目标数据源中。本发明专利技术的一种基于海量数据迁移的数据抽取加载方法与现有技术相比,可以快速将海量数据从各类数据源中进行抽取及加载,并且对数据源系统的影响非常小,保证数据的准确性,最大程度降低对业务系统的影响,实用性强,适用范围广泛,具有很好的推广应用价值。

Data extraction loading method based on mass data migration

The invention discloses a data extraction method based on load mass data migration, the implementation process is as follows: first, data extraction, by creating a temporary user, so that the external tables and data source separation, massive data parallel segmentation generated a number of dump documents; then loading data, namely the analysis and processing of data the conversion, filtering the abnormal data, the data bulk import the data transfer to the target data source. One of the disclosed data extracting and loading methods of massive data migration based on compared with the prior art, can quickly be massive data extraction and loading from various data sources, and the influence on the data source of the system is very small, to ensure the accuracy of the data, to minimize the impact on the business system, practical, applicable scope widely, has the very good application value.

【技术实现步骤摘要】
一种基于海量数据迁移的数据抽取加载方法
本专利技术涉及数据迁移
,具体地说是一种基于海量数据迁移的数据抽取加载方法。
技术介绍
在数据库海量数据迁移时,其一般具有以下需求:1、数据库版本异构版本升级:如Oralce8i升级到9i,甚至是Oracle10g,等等;2、操作系统升级:如AIX4.3升级5.2,甚至是HPUnix环境下,等等;3、磁盘阵列扩容:从老的磁盘升级到新的、其他不同厂家的高端磁盘中,等等。但是在实际迁移过程中,也存在以下问题:1、大数据迁移时,数据抽取及加载消耗大量物理资源并且耗时无法保证,一旦加载出现错误,需重新开始,费力费时。2、减少大数据迁移对源数据产生的影响,降低事故产生几率。3、大数据迁移时,数据加载耗时过长,容易造成数据损坏或丢失。基于以上现状,本专利技术提出一种基于海量数据迁移的数据抽取加载方法,来解决上述问题。
技术实现思路
本专利技术的技术任务是针对以上不足之处,提供一种基于海量数据迁移的数据抽取加载方法。一种基于海量数据迁移的数据抽取加载方法,其实现过程为:首先进行数据抽取,通过创建临时用户,使外部表与数据源分离,对海量数据进行分区并行切分产生若干个dump文件;然后进行数据加载,即对数据进行解析与处理,转换过滤异常数据,最终采用批量导入数据的方式将数据迁移到目标数据源中。所述临时用户是指只读用户、外部表用户,其中只读用户具有数据源中的select权限;外部表用户,该用户通过创建外部表生成dump文件,外部表用户继承只读用户中的select权限。当开始抽取数据的时候,首先查找是否有权限读取数据,满足权限条件后,开始生成外部表dump,一个表可并行生成若干个dump,具体为:使用外部表的数据泵oracle_datadump引擎,在指定的目录下生成若干个dump文件,并可指定并行度,指定dump名称。数据加载时,在目标环境中创建只读用户、外部表用户,外部表用户中存放需要加载的外部表,整个外部表的dump文件加载可即插即用,使用完毕后直接卸载即可;数据加载通过insertappend的方式进行数据导入,根据数据情况进行切分粒度控制,将大数据在数据抽取的时候进行细粒度切分,产生若干个dump文件,缓解undo操作的压力。在数据加载前还包括数据比较的步骤,通过比较只读用户和外部表用户中的外部表数据,即目标数据和源数据,匹配主键列,进行数据的冗余比较。本专利技术的一种基于海量数据迁移的数据抽取加载方法和现有技术相比,具有以下有益效果:本专利技术的一种基于海量数据迁移的数据抽取加载方法,在海量数据迁移时,处理复杂海量数据迁移,从迁移必要性出发,在理论、方法和应用三个层次上提出的数据抽取及加载方法,降低迁移成本,提高大数据迁移效率,保证整个数据迁移过程灵活性及开放性,满足数据迁移性能扩展性;迁移时创建临时用户,使外部表与原数据分离,降低迁移对数据源系统的影响;大数据迁移数据抽取时采用分区并行切分的方式,产生多个DUMP文件,保证数据抽取效率;大数据迁移数据加载时,外部表的DUMP文件即插即用,使用完毕后可直接卸载,减少资源消耗,提高迁移效率;本专利技术可以快速将海量数据从各类数据源中进行抽取及加载,并且对数据源系统的影响非常小,保证数据的准确性,最大程度降低对业务系统的影响,实用性强,适用范围广泛,具有很好的推广应用价值。附图说明附图1是本专利技术海量数据抽取示意图。附图2是本专利技术海量数据加载示意图。具体实施方式下面结合附图及具体实施例对本专利技术作进一步说明。如附图1、图2所示,一种基于海量数据迁移的数据抽取加载方法,应用于海量数据迁移,保证整个迁移过程的高速处理能力。该专利技术在海量数据迁移时通过创建临时只读用户,使外部表与数据源分离,对海量数据进行分区并行切分产生多个DUMP文件,对数据进行解析与处理,转换过滤异常数据,最终采用批量导入数据的方式将数据迁移到目标数据源中。本专利技术可以快速将海量数据从各类数据源中进行抽取及加载,并且对数据源系统的影响非常小,保证数据的准确性,最大程度降低对业务系统的影响。本专利涉及海量数据迁移抽取及加载,通过创建临时只读用户,使外部表与数据源分离,减少迁移对数据源影响,并通过对大数据并行分区切分,提高数据抽取和加载性能效率的方法,保证整个迁移过程的高速处理能力。其实现过程为:步骤1:创建源数据临时用户及外部表用户。步骤2:执行数据抽取脚本,根据控制的细粒度切分,产生可控dump文件。步骤3:创建目标数据临时用户及外部表用户。步骤4:只读用户与外部表用户数据比较。步骤5:通过insertappend方式执行数据加载。更为具体的,本专利技术包括数据抽取和数据下载两部分,其中,一、海量数据抽取。数据抽取时创建两个临时用户,一个是只读用户,只具有数据源中的select权限,另外一个用户是外部表用户,并使用该用户创建所有外部表,生成dump文件后,可随时删除外部表,为保证相关drop操作不会牵扯到数据源,外部表用户会继承只读用户中的select权限。当开始抽取数据的时候,会查找是否有权限读取数据,满足基本条件后,开始生成外部表dump,一个表可并行生成多个dump。生成代码可参考如下:CREATETABLEMO1_MEMO_EXTORGANIZATIONEXTERNAL(TYPEORACLE_DATAPUMPDEFAULTDIRECTORYxxxxxLOCATION(‘xxxx1.dmp’,‘xxxx2.dmp’))parallelxxasSELECT/*+parallel(txx)*/*FROM只读用户.MO1_MEMO;使用外部表的oracle_datadump引擎,可在指定的目录下生成多个dump文件,并可指定并行度,指定多个dump名称等。二、海量数据加载。数据加载时,在目标环境中创建只读用户,外部表用户,外部表用户中存放的是需要加载的外部表,整个外部表的加载过程不会消耗额外的物理空间而且可以保证加载速度。整个外部表的dump文件加载可即插即用,使用完毕后直接卸载即可,保证资源的充分利用。数据比较时,通过比较只读用户(目标数据)和外部表用户中的外部表数据(源数据),可灵活匹配主键列,非唯一性约束可以有效的进行数据的冗余比较。数据加载通过insertappend的方式进行数据导入,根据数据情况进行切分粒度控制,可将大数据在数据抽取的时候进行细粒度切分,产生多个dump文件,缓解undo操作的压力,灵活控制整个数据加载流程。本专利技术通过创建临时只读用户,使外部表与数据源分离,对海量数据进行分区并行切分产生多个DUMP文件,对数据进行解析与处理,转换过滤异常数据,最终采用批量导入数据的方式将数据迁移到目标数据源中。通过上面具体实施方式,所述
的技术人员可容易的实现本专利技术。但是应当理解,本专利技术并不限于上述的具体实施方式。在公开的实施方式的基础上,所述
的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。除说明书所述的技术特征外,均为本专业技术人员的已知技术。本文档来自技高网
...
一种基于海量数据迁移的数据抽取加载方法

【技术保护点】
一种基于海量数据迁移的数据抽取加载方法,其特征在于,其实现过程为:首先进行数据抽取,通过创建临时用户,使外部表与数据源分离,对海量数据进行分区并行切分产生若干个dump文件;然后进行数据加载,即对数据进行解析与处理,转换过滤异常数据,最终采用批量导入数据的方式将数据迁移到目标数据源中。

【技术特征摘要】
1.一种基于海量数据迁移的数据抽取加载方法,其特征在于,其实现过程为:首先进行数据抽取,通过创建临时用户,使外部表与数据源分离,对海量数据进行分区并行切分产生若干个dump文件;然后进行数据加载,即对数据进行解析与处理,转换过滤异常数据,最终采用批量导入数据的方式将数据迁移到目标数据源中。2.根据权利要求1所述的一种基于海量数据迁移的数据抽取加载方法,其特征在于,所述临时用户是指只读用户、外部表用户,其中只读用户具有数据源中的select权限;外部表用户,该用户通过创建外部表生成dump文件,外部表用户继承只读用户中的select权限。3.根据权利要求1所述的一种基于海量数据迁移的数据抽取加载方法,其特征在于,当开始抽取数据的时候,首先查找是否有权限读取数据,满足权限条件后,开始生成外部表dump,一个表可并行生成若干个dump。4.根据权利要求3所述的一种基于海量数据迁移的数据抽取...

【专利技术属性】
技术研发人员:董志鹏徐兵兵丁庆申郭凤
申请(专利权)人:山东浪潮商用系统有限公司
类型:发明
国别省市:山东,37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1