CN106777345B - 一种基于海量数据迁移的数据抽取加载方法 - Google Patents
一种基于海量数据迁移的数据抽取加载方法 Download PDFInfo
- Publication number
- CN106777345B CN106777345B CN201710028883.0A CN201710028883A CN106777345B CN 106777345 B CN106777345 B CN 106777345B CN 201710028883 A CN201710028883 A CN 201710028883A CN 106777345 B CN106777345 B CN 106777345B
- Authority
- CN
- China
- Prior art keywords
- data
- external table
- user
- loading
- dump
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000011068 loading method Methods 0.000 title claims abstract description 39
- 230000005012 migration Effects 0.000 title claims abstract description 32
- 238000013508 migration Methods 0.000 title claims abstract description 32
- 238000013075 data extraction Methods 0.000 title claims abstract description 28
- 238000000034 method Methods 0.000 claims abstract description 19
- 230000002159 abnormal effect Effects 0.000 claims abstract description 5
- 230000011218 segmentation Effects 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 2
- XDLMVUHYZWKMMD-UHFFFAOYSA-N 3-trimethoxysilylpropyl 2-methylprop-2-enoate Chemical compound CO[Si](OC)(OC)CCCOC(=O)C(C)=C XDLMVUHYZWKMMD-UHFFFAOYSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于海量数据迁移的数据抽取加载方法,其实现过程为:首先进行数据抽取,通过创建临时用户,使外部表与数据源分离,对海量数据进行分区并行切分产生若干个dump文件;然后进行数据加载,即对数据进行解析与处理,转换过滤异常数据,最终采用批量导入数据的方式将数据迁移到目标数据源中。本发明的一种基于海量数据迁移的数据抽取加载方法与现有技术相比,可以快速将海量数据从各类数据源中进行抽取及加载,并且对数据源系统的影响非常小,保证数据的准确性,最大程度降低对业务系统的影响,实用性强,适用范围广泛,具有很好的推广应用价值。
Description
技术领域
本发明涉及数据迁移技术领域,具体地说是一种基于海量数据迁移的数据抽取加载方法。
背景技术
在数据库海量数据迁移时,其一般具有以下需求:
1、数据库版本异构版本升级:如Oralce 8i 升级到 9i,甚至是Oracle10g,等等;
2、操作系统升级:如AIX 4.3 升级 5.2,甚至是HP Unix环境下,等等;
3、磁盘阵列扩容:从老的磁盘升级到新的、其他不同厂家的高端磁盘中,等等。
但是在实际迁移过程中,也存在以下问题:
1、大数据迁移时,数据抽取及加载消耗大量物理资源并且耗时无法保证,一旦加载出现错误,需重新开始,费力费时。
2、减少大数据迁移对源数据产生的影响,降低事故产生几率。
3、大数据迁移时,数据加载耗时过长,容易造成数据损坏或丢失。
基于以上现状,本发明提出一种基于海量数据迁移的数据抽取加载方法,来解决上述问题。
发明内容
本发明的技术任务是针对以上不足之处,提供一种基于海量数据迁移的数据抽取加载方法。
一种基于海量数据迁移的数据抽取加载方法,其实现过程为:首先进行数据抽取,通过创建临时用户,使外部表与数据源分离,对海量数据进行分区并行切分产生若干个dump文件;然后进行数据加载,即对数据进行解析与处理,转换过滤异常数据,最终采用批量导入数据的方式将数据迁移到目标数据源中。
所述临时用户是指只读用户、外部表用户,其中只读用户具有数据源中的select权限;外部表用户,该用户通过创建外部表生成dump文件,外部表用户继承只读用户中的select权限。
当开始抽取数据的时候,首先查找是否有权限读取数据,满足权限条件后,开始生成外部表dump,一个表可并行生成若干个dump,具体为:使用外部表的数据泵oracle_datadump引擎,在指定的目录下生成若干个dump文件,并可指定并行度,指定dump名称。
数据加载时,在目标环境中创建只读用户、外部表用户,外部表用户中存放需要加载的外部表,整个外部表的dump文件加载可即插即用,使用完毕后直接卸载即可;
数据加载通过insert append的方式进行数据导入,根据数据情况进行切分粒度控制,将大数据在数据抽取的时候进行细粒度切分,产生若干个dump文件,缓解undo操作的压力。
在数据加载前还包括数据比较的步骤,通过比较只读用户和外部表用户中的外部表数据,即目标数据和源数据,匹配主键列,进行数据的冗余比较。
本发明的一种基于海量数据迁移的数据抽取加载方法和现有技术相比,具有以下有益效果:
本发明的一种基于海量数据迁移的数据抽取加载方法,在海量数据迁移时,处理复杂海量数据迁移,从迁移必要性出发,在理论、方法和应用三个层次上提出的数据抽取及加载方法,降低迁移成本,提高大数据迁移效率,保证整个数据迁移过程灵活性及开放性,满足数据迁移性能扩展性;
迁移时创建临时用户,使外部表与原数据分离,降低迁移对数据源系统的影响;
大数据迁移数据抽取时采用分区并行切分的方式,产生多个DUMP文件,保证数据抽取效率;
大数据迁移数据加载时,外部表的DUMP文件即插即用,使用完毕后可直接卸载,减少资源消耗,提高迁移效率;
本发明可以快速将海量数据从各类数据源中进行抽取及加载,并且对数据源系统的影响非常小,保证数据的准确性,最大程度降低对业务系统的影响,实用性强,适用范围广泛,具有很好的推广应用价值。
附图说明
附图1是本发明海量数据抽取示意图。
附图2是本发明海量数据加载示意图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步说明。
如附图1、图2所示,一种基于海量数据迁移的数据抽取加载方法,应用于海量数据迁移,保证整个迁移过程的高速处理能力。该发明在海量数据迁移时通过创建临时只读用户,使外部表与数据源分离,对海量数据进行分区并行切分产生多个DUMP文件,对数据进行解析与处理,转换过滤异常数据,最终采用批量导入数据的方式将数据迁移到目标数据源中。本发明可以快速将海量数据从各类数据源中进行抽取及加载,并且对数据源系统的影响非常小,保证数据的准确性,最大程度降低对业务系统的影响。
本专利涉及海量数据迁移抽取及加载,通过创建临时只读用户,使外部表与数据源分离,减少迁移对数据源影响,并通过对大数据并行分区切分,提高数据抽取和加载性能效率的方法,保证整个迁移过程的高速处理能力。
其实现过程为:
步骤1:创建源数据临时用户及外部表用户。
步骤2:执行数据抽取脚本,根据控制的细粒度切分,产生可控dump文件。
步骤3:创建目标数据临时用户及外部表用户。
步骤4:只读用户与外部表用户数据比较。
步骤5:通过insert append 方式执行数据加载。
更为具体的,本发明包括数据抽取和数据下载两部分,其中,
一、海量数据抽取。
数据抽取时创建两个临时用户,一个是只读用户,只具有数据源中的select权限,另外一个用户是外部表用户,并使用该用户创建所有外部表,生成dump文件后,可随时删除外部表,为保证相关drop操作不会牵扯到数据源,外部表用户会继承只读用户中的select权限。当开始抽取数据的时候,会查找是否有权限读取数据,满足基本条件后,开始生成外部表dump,一个表可并行生成多个dump。生成代码可参考如下:
CREATE TABLE MO1_MEMO_EXT
ORGANIZATION EXTERNAL
(TYPE ORACLE_DATAPUMP
DEFAULT DIRECTORY xxxxx
LOCATION (
‘xxxx1.dmp’,‘xxxx2.dmp’))
parallel xx as
SELECT /*+ parallel(t xx) */ *
FROM 只读用户.MO1_MEMO;
使用外部表的oracle_datadump引擎,可在指定的目录下生成多个dump文件,并可指定并行度,指定多个dump名称等。
二、海量数据加载。
数据加载时,在目标环境中创建只读用户,外部表用户,外部表用户中存放的是需要加载的外部表,整个外部表的加载过程不会消耗额外的物理空间而且可以保证加载速度。整个外部表的dump文件加载可即插即用,使用完毕后直接卸载即可,保证资源的充分利用。
数据比较时,通过比较只读用户(目标数据)和外部表用户中的外部表数据(源数据),可灵活匹配主键列,非唯一性约束可以有效的进行数据的冗余比较。
数据加载通过insert append的方式进行数据导入,根据数据情况进行切分粒度控制,可将大数据在数据抽取的时候进行细粒度切分,产生多个dump文件,缓解undo操作的压力,灵活控制整个数据加载流程。
本发明通过创建临时只读用户,使外部表与数据源分离,对海量数据进行分区并行切分产生多个DUMP文件,对数据进行解析与处理,转换过滤异常数据,最终采用批量导入数据的方式将数据迁移到目标数据源中。
通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。
Claims (2)
1.一种基于海量数据迁移的数据抽取加载方法,其特征在于,其实现过程为:首先进行数据抽取,通过创建临时用户,使外部表与数据源分离,对海量数据进行分区并行切分产生若干个dump文件;然后进行数据加载,即对数据进行解析与处理,转换过滤异常数据,最终采用批量导入数据的方式将数据迁移到目标数据源中;
当开始抽取数据的时候,首先查找是否有权限读取数据,满足权限条件后,开始生成外部表dump,一个表可并行生成若干个dump;
一个表并行生成若干个dump的具体过程为:使用外部表的数据泵oracle_datadump引擎,在指定的目录下生成若干个dump文件,并可指定并行度,指定dump名称;
数据加载时,在目标环境中创建只读用户、外部表用户,外部表用户中存放需要加载的外部表,整个外部表的dump文件加载可即插即用,使用完毕后直接卸载即可;
数据加载通过insert append的方式进行数据导入,根据数据情况进行切分粒度控制,将大数据在数据抽取的时候进行细粒度切分,产生若干个dump文件,缓解undo操作的压力;
在数据加载前还包括数据比较的步骤,通过比较只读用户和外部表用户中的外部表数据,即目标数据和源数据,匹配主键列,进行数据的冗余比较。
2.根据权利要求1所述的一种基于海量数据迁移的数据抽取加载方法,其特征在于,所述临时用户是指只读用户、外部表用户,其中只读用户具有数据源中的select权限;外部表用户,该用户通过创建外部表生成dump文件,外部表用户继承只读用户中的select权限。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710028883.0A CN106777345B (zh) | 2017-01-16 | 2017-01-16 | 一种基于海量数据迁移的数据抽取加载方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710028883.0A CN106777345B (zh) | 2017-01-16 | 2017-01-16 | 一种基于海量数据迁移的数据抽取加载方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106777345A CN106777345A (zh) | 2017-05-31 |
CN106777345B true CN106777345B (zh) | 2020-07-28 |
Family
ID=58946856
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710028883.0A Active CN106777345B (zh) | 2017-01-16 | 2017-01-16 | 一种基于海量数据迁移的数据抽取加载方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106777345B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108984738A (zh) * | 2018-07-16 | 2018-12-11 | 中国银行股份有限公司 | 一种数据铺底方法及装置 |
CN109753493A (zh) * | 2019-01-04 | 2019-05-14 | 中国银行股份有限公司 | 数据库间进行数据迁移的方法、装置以及设备 |
CN111026535B (zh) * | 2019-12-12 | 2023-03-21 | 成都九洲电子信息系统股份有限公司 | 一种非标准化的热插拔式数据批量处理方法 |
CN111352922B (zh) * | 2020-02-25 | 2021-02-12 | 帆软软件有限公司 | Bi工具中多数据表的数据权限继承方法 |
CN112256775A (zh) * | 2020-09-27 | 2021-01-22 | 建信金融科技有限责任公司 | 一种Oracle数据库的数据定时加载的方法及装置 |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101075304A (zh) * | 2006-05-18 | 2007-11-21 | 河北全通通信有限公司 | 电信行业基于数据仓库的决策支持系统的构造方法 |
CN101079902A (zh) * | 2007-06-29 | 2007-11-28 | 清华大学 | 海量数据分级存储方法 |
CN101170454A (zh) * | 2006-10-27 | 2008-04-30 | 亿阳信通股份有限公司 | 一种监控数据采集汇总状态的方法和系统 |
CN101320394A (zh) * | 2008-07-21 | 2008-12-10 | 浪潮集团山东通用软件有限公司 | 一种支持多种文件类型的数据采集方法 |
CN101639839A (zh) * | 2008-07-30 | 2010-02-03 | 中兴通讯股份有限公司 | 一种基于临时表的多归档文件查询方法 |
CN101923498A (zh) * | 2009-06-11 | 2010-12-22 | 升东网络科技发展(上海)有限公司 | 数据库全量自动备份系统及方法 |
CN102103629A (zh) * | 2010-12-14 | 2011-06-22 | 西北工业大学 | 在线数据迁移方法 |
CN102316131A (zh) * | 2010-07-02 | 2012-01-11 | 戴元顺 | 云平台系统智能备份 |
CN102325170A (zh) * | 2011-08-24 | 2012-01-18 | 无锡中科方德软件有限公司 | 一种数据抽取和数据集成方法及其系统 |
CN102750203A (zh) * | 2012-06-07 | 2012-10-24 | 浪潮电子信息产业股份有限公司 | 一种基于linux的快速部署方法 |
CN103106271A (zh) * | 2013-02-05 | 2013-05-15 | 广东全通教育股份有限公司 | 一种基于海量数据的数据库备份及恢复方法和系统 |
CN103617176A (zh) * | 2013-11-04 | 2014-03-05 | 广东电子工业研究院有限公司 | 一种实现多源异构数据资源自动同步的方法 |
CN104573122A (zh) * | 2015-02-09 | 2015-04-29 | 浪潮电子信息产业股份有限公司 | 一种从AIX平台向K-UX平台迁移的Oracle数据库迁移工具 |
CN105718507A (zh) * | 2016-01-06 | 2016-06-29 | 杭州数梦工场科技有限公司 | 一种数据迁移方法和装置 |
CN105740462A (zh) * | 2016-03-02 | 2016-07-06 | 上海新炬网络信息技术有限公司 | 一种支持不同环境之间的数据迁移方法 |
CN105808746A (zh) * | 2016-03-14 | 2016-07-27 | 中国科学院计算技术研究所 | 一种基于Hadoop体系的关系型大数据无缝接入方法及系统 |
CN106021422A (zh) * | 2016-05-13 | 2016-10-12 | 北京思特奇信息技术股份有限公司 | 一种基于关系型数据库形成Hive数据仓库的方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7509327B2 (en) * | 2003-12-03 | 2009-03-24 | Microsoft Corporation | Business data migration using metadata |
-
2017
- 2017-01-16 CN CN201710028883.0A patent/CN106777345B/zh active Active
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101075304A (zh) * | 2006-05-18 | 2007-11-21 | 河北全通通信有限公司 | 电信行业基于数据仓库的决策支持系统的构造方法 |
CN101170454A (zh) * | 2006-10-27 | 2008-04-30 | 亿阳信通股份有限公司 | 一种监控数据采集汇总状态的方法和系统 |
CN101079902A (zh) * | 2007-06-29 | 2007-11-28 | 清华大学 | 海量数据分级存储方法 |
CN101320394A (zh) * | 2008-07-21 | 2008-12-10 | 浪潮集团山东通用软件有限公司 | 一种支持多种文件类型的数据采集方法 |
CN101639839A (zh) * | 2008-07-30 | 2010-02-03 | 中兴通讯股份有限公司 | 一种基于临时表的多归档文件查询方法 |
CN101923498A (zh) * | 2009-06-11 | 2010-12-22 | 升东网络科技发展(上海)有限公司 | 数据库全量自动备份系统及方法 |
CN102316131A (zh) * | 2010-07-02 | 2012-01-11 | 戴元顺 | 云平台系统智能备份 |
CN102103629A (zh) * | 2010-12-14 | 2011-06-22 | 西北工业大学 | 在线数据迁移方法 |
CN102325170A (zh) * | 2011-08-24 | 2012-01-18 | 无锡中科方德软件有限公司 | 一种数据抽取和数据集成方法及其系统 |
CN102750203A (zh) * | 2012-06-07 | 2012-10-24 | 浪潮电子信息产业股份有限公司 | 一种基于linux的快速部署方法 |
CN103106271A (zh) * | 2013-02-05 | 2013-05-15 | 广东全通教育股份有限公司 | 一种基于海量数据的数据库备份及恢复方法和系统 |
CN103617176A (zh) * | 2013-11-04 | 2014-03-05 | 广东电子工业研究院有限公司 | 一种实现多源异构数据资源自动同步的方法 |
CN104573122A (zh) * | 2015-02-09 | 2015-04-29 | 浪潮电子信息产业股份有限公司 | 一种从AIX平台向K-UX平台迁移的Oracle数据库迁移工具 |
CN105718507A (zh) * | 2016-01-06 | 2016-06-29 | 杭州数梦工场科技有限公司 | 一种数据迁移方法和装置 |
CN105740462A (zh) * | 2016-03-02 | 2016-07-06 | 上海新炬网络信息技术有限公司 | 一种支持不同环境之间的数据迁移方法 |
CN105808746A (zh) * | 2016-03-14 | 2016-07-27 | 中国科学院计算技术研究所 | 一种基于Hadoop体系的关系型大数据无缝接入方法及系统 |
CN106021422A (zh) * | 2016-05-13 | 2016-10-12 | 北京思特奇信息技术股份有限公司 | 一种基于关系型数据库形成Hive数据仓库的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106777345A (zh) | 2017-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106777345B (zh) | 一种基于海量数据迁移的数据抽取加载方法 | |
US6323865B1 (en) | Automatic font management within an operating system environment | |
CN106445738B (zh) | 一种数据库备份方法及装置 | |
EP3198452B1 (en) | On-demand loading of dynamic scripting language code for reduced memory usage | |
CN108762825B (zh) | 动态库重载的实现方法及系统 | |
US20180246710A1 (en) | Software update apparatus and method in virtualized environment | |
CN105138431A (zh) | 一种Linux系统的备份和还原方法 | |
CN111386521B (zh) | 在数据库集群中重分布表数据 | |
CN104731622A (zh) | 一种应用程序的加载方法、装置和移动终端 | |
CN106095439A (zh) | 一种信息处理方法及电子设备 | |
US20090199171A1 (en) | Code Size Reduction by Outlining Specific Functions in a Library | |
CN113760306A (zh) | 安装软件的方法、装置、电子设备及存储介质 | |
CN103617060B (zh) | 使用超级状态存储加快嵌入式软件启动过程的方法 | |
CN115543224A (zh) | 基于zns ssd的文件系统控制方法、装置及设备 | |
US11150993B2 (en) | Method, apparatus and computer program product for improving inline pattern detection | |
CN106980516B (zh) | 信息处理装置及资源管理方法 | |
CN108073658B (zh) | 一种数据同步系统及方法 | |
CN103559574A (zh) | 一种工作流操作方法及系统 | |
US8924921B2 (en) | Abstracting business logic into centralized database controls | |
US8630981B1 (en) | Techniques for differencing binary installation packages | |
CN106354539A (zh) | 应用程序升级方法及装置 | |
CN113064698A (zh) | 提供产品环境的方法及相应的装置、系统、设备和介质 | |
EP2605127B1 (en) | Processing Framework For Generating Pre-Configuration Packages | |
CN117093283A (zh) | 一种程序快速启动方法及系统 | |
US11531478B1 (en) | Optimizing memory usage to enable larger-sized deployments and client servicing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200701 Address after: 250100 Inspur Science Park, No. 1036, Inspur Road, high tech Zone, Jinan City, Shandong Province Applicant after: Inspur Software Technology Co.,Ltd. Address before: 250100, Ji'nan province high tech Zone, Sun Village Branch Road, No. 2877, building, floor, building, on the first floor Applicant before: SHANDONG INSPUR BUSINESS SYSTEM Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |