CN110851425B - 基于Mongify迁移Oracle数据至Mongo DB数据库的方法 - Google Patents

基于Mongify迁移Oracle数据至Mongo DB数据库的方法 Download PDF

Info

Publication number
CN110851425B
CN110851425B CN201911129051.3A CN201911129051A CN110851425B CN 110851425 B CN110851425 B CN 110851425B CN 201911129051 A CN201911129051 A CN 201911129051A CN 110851425 B CN110851425 B CN 110851425B
Authority
CN
China
Prior art keywords
mongo
database
model
many
mapping
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
Application number
CN201911129051.3A
Other languages
English (en)
Other versions
CN110851425A (zh
Inventor
程永新
孙玉颖
陈聪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai New Century Network Co ltd
Original Assignee
Shanghai New Century Network Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai New Century Network Co ltd filed Critical Shanghai New Century Network Co ltd
Priority to CN201911129051.3A priority Critical patent/CN110851425B/zh
Publication of CN110851425A publication Critical patent/CN110851425A/zh
Application granted granted Critical
Publication of CN110851425B publication Critical patent/CN110851425B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/214Database migration support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于Mongify迁移Oracle数据至Mongo DB数据库的方法,包括以下步骤:S1:实现Oracle数据库与Mongo DB数据库的通信;S2:根据Mongo DB数据库集合模型特征获得概念模型样板;S3:使用Mongify检查Oracle数据库与Mongo DB数据库概念模型样板映射关系,并将概念模型样板转换为具体的物理模型;S4:依据物理模型的映射关系进行自动化数据迁移。本发明可以控制迁移到Mongo DB数据库的数据结构,简化表数据迁移过程中的操作,降低了数据迁移的复杂度,不需要人工干预,缩短了迁移的时间,提升了处理效率,大幅度提高了处理性能。

Description

基于Mongify迁移Oracle数据至Mongo DB数据库的方法
技术领域
本发明涉及一种数据迁移方法,尤其涉及一种基于Mongify迁移Oracle数据至Mongo DB数据库的方法。
背景技术
当前社会,企业随着数据数量、种类和重要性的不断增加,存储的数据越来越多,使用的关系型数据库容易触发性能瓶颈,同时关系型数据库也不能满足大数据处理的需求,所以越来越多的关系型数据库已向大数据类型数据库迁移(比如Mongo DB)。根据DB-Engines最新报告,Oracle依然占据数据库市场第一的位置,同时Mongo DB市场占有率已上升到第五位,说明大数据前景好,越来越多的企业使用Mongo DB,迁移Oracle数据至MongoDB也很迫切,但是当前从Oracle数据库迁移至Mongo DB还存在以下不足:
1、需要人工手动导出Oracle数据,然后传输至Mongo DB服务器,再从服器导入至Mongo DB数据库中,过程繁琐,耗时。
2、Oracle数据库中表(TABLE)与Mongo DB中集合(COLLECTION)涉及的模型转换关系复杂,需要人工甄别,效率低下。
因此,设计一种便捷的模型转换及无需人工干预的迁移方法,是非常有必要的。
发明内容
本发明要解决的技术问题是提供一种基于Mongify迁移Oracle数据至Mongo DB数据库的方法,解决上述问题。
本发明为解决上述技术问题而采用的技术方案是提供一种基于Mongify迁移Oracle数据至Mongo DB数据库的方法,包括以下步骤:S1:设置Oracle数据库及Mongo DB数据库的配置信息,并在Oracle数据库与Mongo DB数据库间建立通信连接;S2:根据Oracle数据库表结构模型特征获得需转换至Mongo DB数据库集合的模型特征,并根据Mongo DB数据库集合模型特征获得概念模型样板;S3:使用Mongify检查Oracle数据库与Mongo DB数据库概念模型样板的映射关系,并将概念模型样板转换为具体的物理模型;S4:依据转换的物理模型的映射关系进行自动化数据迁移。
进一步的,所述步骤S2具体包括:S21:将Oracle数据库表结构模型与Mongo DB数据库集合结构模型进行映射,所述映射关系包括:一对一映射关系、一对多映射关系和多对多映射关系;S22:根据映射关系将表结构模型和集合结构模型加载至概念模型样板上。
进一步的,所述步骤S21中Oracle数据库表结构模型与Mongo DB数据库集合结构模型进行映射时的对应关系如下:表对应集合,行对应文档,列对应域,表连接对应嵌入文档,聚合关系对应聚合管道,连接关系对应引用或者嵌套。
进一步的,所述步骤S22加载表结构模型和集合结构模型的过程如下:当映射关系为一对一映射关系时,将表结构和集合结构一对一的加载在概念模型样板上;当映射关系为一对多映射关系时,将表结构由一个分拆为多个并且对应多个集合结构,加载在概念模型样板上;当映射关系为多对多映射关系时,将多对多映射关系分解为一对多映射关系和多对一映射关系:一对多映射关系:将表结构由一个分拆为多个并且对应多个集合结构,加载在概念模型样板上;多对一映射关系:将表结构由多个集成为一个并且对应一个集合结构下的多个文档,加载在概念模型样板上。
进一步的,所述Mongo DB数据库集合的组成包括主键、文档和可选的嵌入文档;当映射关系为一对一时,主键和表外键一一对应,在转换至Mongo DB时需要进行引用;当映射关系为一对多时,一个主键对应多张表外键,在转换至Mongo DB时需要进行嵌入;当映射关系为多对多时,多个主键与多张表外键互相映射,在转换至Mongo DB时需要进行嵌入。
进一步的,所述步骤S3具体包括:S41:依据概念模型样板映射关系生成Mongify可识别的配置文件;S42:使用Mongify算法对配置文件进行封装,使Oracle数据类型转换为Mongo DB支持的数据类型;S43:根据封装后的配置文件得到数据迁移的物理模型;
进一步的,所述步骤S4具体包括:S51:根据物理模型映射关系进行集合迁移,并根据映射关系写入嵌入文档;S52:检查迁移数据并与模型转换的数据进行对比,返回对比一致的检查标记,确认迁移完成。
本发明对比现有技术有如下的有益效果:本发明提供的基于Mongify迁移Oracle数据至Mongo DB数据库的方法,采用科学的模型转换,形成完整、有效的数据模型,可以控制迁移到Mongo DB数据库的数据结构,简化表数据由Oracle数据库迁移到Mongo DB数据库中的操作,降低了数据迁移的复杂度,不需要人工干预,缩短了迁移的时间,提升了处理效率,大幅度提高了处理性能。
附图说明
图1为本发明实施例中基于Mongify迁移Oracle数据至Mongo DB数据库的方法流程图;
图2为本发明实施例中Oracle数据库的ER模型示例图;
图3为本发明实施例的数据迁移完成示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的描述。
图1为本发明实施例中基于Mongify迁移Oracle数据至Mongo DB数据库的方法流程图。
请参见图1,本发明实施例的基于Mongify迁移Oracle数据至Mongo DB数据库的方法,包括以下步骤:
S1:设置Oracle数据库及Mongo DB数据库的配置信息,并在Oracle数据库与MongoDB数据库间建立通信连接;
S2:根据Oracle数据库表结构模型特征获得需转换至Mongo DB数据库集合的模型特征,并根据Mongo DB数据库集合模型特征获得概念模型样板;
S3:使用Mongify检查Oracle数据库与Mongo DB数据库概念模型样板映射关系,并将概念模型样板转换为具体的物理模型;
S4:依据转换的物理模型的映射关系进行自动化的数据迁移。
请参见图2,本发明实施例的基于Mongify迁移Oracle数据至Mongo DB数据库的方法,Oracle数据库采用基础ER模型图。Oracle数据库处理多个表的结果方式为多张表进行连接,最后进行过滤得到的结果,该方式如果涉及到的表过多且每张表的数据量非常大,处理数据的速度性能则会变得低下。而Mongo DB的嵌入式文档结构拥有非常灵活的数据处理能力,可将多张表相关联的字段进行嵌入,大大提高了数据处理能力,避免不必要的IO操作。使用Mongo DB的目的是为了解决类似的数据大量增长的情况,并同时保持良好的数据库及应用性能。
具体的,本发明实施例的基于Mongify迁移Oracle数据至Mongo DB数据库的方法,步骤S2具体包括:
S21:将Oracle数据库表结构模型与Mongo DB数据库集合结构模型进行映射,所述映射关系包括:一对一映射关系、一对多映射关系和多对多映射关系;
S22:根据映射关系将表结构模型和集合结构模型加载至概念模型样板上。
在Mongo DB数据库中,集合的组成为主键及文档,外加可选的嵌入文档,具体算法如下:
Collection(1/N)=Primary Key(1/N)+Docuemnts(1/N)+[Embedding Documents(1/N)]
通过Mongo DB的官方转换关系,可得对应关系表如下表1所示:
Oracle数据库 Mongo DB数据库
表(Table) 集合(Collection)
行(Row) 文档(Document)
列(Column) 域(Field)
表连接(Table Joins) 嵌入文档(Embedded Documents)
聚合关系(Aggregation) 聚合管道(Aggregation Pipeline)
关系(Relationship) 引用(Reference)或嵌套(Embedding)
表1Oracle数据库与Mongo DB数据库对应关系表。
根据映射关系将表结构模型和集合结构模型加载至概念模型样板上,当映射关系为一对一映射关系时,将表结构和集合结构一对一的加载在概念模型样板上;当映射关系为一对多映射关系时,将表结构由一个分拆为多个并且对应多个集合结构,加载在概念模型样板上;当映射关系为多对多映射关系时,将多对多映射关系分解为一对多映射关系和多对一映射关系:一对多映射关系:将表结构由一个分拆为多个并且对应多个集合结构,加载在概念模型样板上;多对一映射关系:将表结构由多个集成为一个并且对应一个集合结构下的多个文档,加载在概念模型样板上。
当映射关系为一对一时,主键和表外键一一对应,在转换至Mongo DB时需要进行引用;当映射关系为一对多时,一个主键对应多张表外键,在转换至Mongo DB时需要进行嵌入;当映射关系为多对多时,多个主键与多张表外键互相映射,在转换至Mongo DB时需要进行嵌入。通过Oracle与Mongo DB的映射关系及Mongo DB集合组成算法关系,从而得到Oracle数据库中的哪些表在Mongo DB需要使用嵌套(Embedded),又有哪些表不需要嵌套,如果是单独迁移至Mongo DB下是否启用引用(References)关系的概念模型样板。
确认概念模型样板后,接下来就确认Oracle的数据类型到Mongo DB识别的数据类型的转换,具体的数据类型转换关系如下表2所示:
Oracle数据库 Mongo DB数据库
Primary key(主键) Key(主键)
Integer Integer
Float String
Decimal String
Sstring String
Text String
Datetime ISO time
Date ISO time
Timestamps ISO time
Time ISO time
Binary String
Boolean True/False
表2Oracle数据库与Mongo DB数据库数据转换关系表。
具体的,本发明实施例的基于Mongify迁移Oracle数据至Mongo DB数据库的方法,步骤S3具体包括:
S41:依据概念模型样板映射关系生成Mongify可识别的配置文件;无报错则配置文件生成无误;
S42:使用Mongify算法对配置文件进行封装,并在内部根据数据类型映射关系算法将Oracle数据类型转变为Mongo DB识别的数据类型;
S43:根据封装后的配置文件得到数据迁移的物理模型。
确认物理模型后根据物理模型映射关系进行集合迁移,并根据映射关系写入嵌入文档;检查迁移数据并与模型转换的数据进行对比,返回对比一致的检查标记,确认迁移完成。
如图3所示,采用基于Mongify迁移Oracle数据至Mongo DB数据库的方法完成数据迁移后的示意图,可以看到对应的数据类型都按照预先设置的映射关系进行了转换,达到了迁移Oracle数据至Mongo DB的预期目标。
综上所述,本发明实施例的基于Mongify迁移Oracle数据至Mongo DB数据库的方法,采用科学的模型转换,形成完整、有效的数据模型,可以控制迁移到Mongo DB数据库的数据结构,简化表数据由Oracle数据库迁移到Mongo DB数据库中的操作,降低了数据迁移的复杂度,不需要人工干预,缩短了迁移的时间,提升了处理效率,大幅度提高了处理性能。
虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的修改和完善,因此本发明的保护范围当以权利要求书所界定的为准。

Claims (5)

1.一种基于Mongify迁移Oracle数据至Mongo DB数据库的方法,其特征在于,包括以下步骤:
S1:设置Oracle数据库及Mongo DB数据库的配置信息,并在Oracle数据库与Mongo DB数据库间建立通信连接;
S2:根据Oracle数据库表结构模型特征获得需转换至Mongo DB数据库集合的模型特征,并根据Mongo DB数据库集合模型特征获得概念模型样板;
S3:使用Mongify检查Oracle数据库与Mongo DB数据库概念模型样板的映射关系,并将概念模型样板转换为具体的物理模型;
S4:依据转换后物理模型的映射关系进行自动化数据迁移;
所述步骤S2具体包括:
S21:将Oracle数据库表结构模型与Mongo DB数据库集合结构模型进行映射,所述映射关系包括:一对一映射关系、一对多映射关系和多对多映射关系;
S22:根据映射关系将表结构模型和集合结构模型加载至概念模型样板上;
所述步骤S22加载表结构模型和集合结构模型的过程如下:
当映射关系为一对一映射关系时,将表结构和集合结构一对一的加载在概念模型样板上;
当映射关系为一对多映射关系时,将表结构由一个分拆为多个并且对应多个集合结构,加载在概念模型样板上;
当映射关系为多对多映射关系时,将多对多映射关系分解为一对多映射关系和多对一映射关系:一对多映射关系:将表结构由一个分拆为多个并且对应多个集合结构,加载在概念模型样板上;多对一映射关系:将表结构由多个集成为一个并且对应一个集合结构下的多个文档,加载在概念模型样板上。
2.如权利要求1所述的基于Mongify迁移Oracle数据至Mongo DB数据库的方法,其特征在于,所述步骤S21中Oracle数据库表结构模型与Mongo DB数据库集合结构模型进行映射时的对应关系如下:表对应集合,行对应文档,列对应域,表连接对应嵌入文档,聚合关系对应聚合管道,连接关系对应引用或者嵌套。
3.如权利要求1所述的基于Mongify迁移Oracle数据至Mongo DB数据库的方法,其特征在于,所述Mongo DB数据库集合的组成包括主键、文档和可选的嵌入文档;当映射关系为一对一时,主键和表外键一一对应,在转换至Mongo DB时进行引用;当映射关系为一对多时,一个主键对应多张表外键,在转换至Mongo DB时进行嵌入;当映射关系为多对多时,多个主键与多张表外键互相映射,在转换至Mongo DB时进行嵌入。
4.如权利要求1所述的基于Mongify迁移Oracle数据至Mongo DB数据库的方法,其特征在于,所述步骤S3具体包括:
S31:依据概念模型样板映射关系生成Mongify可识别的配置文件;
S32:使用Mongify算法对配置文件进行封装,使Oracle数据类型转换为Mongo DB支持的数据类型;
S33:根据封装后的配置文件得到数据迁移的物理模型。
5.如权利要求1所述的基于Mongify迁移Oracle数据至Mongo DB数据库的方法,其特征在于,所述步骤S4具体包括:
S41:根据物理模型映射关系进行集合迁移,并根据映射关系写入嵌入文档;
S42:检查迁移数据并与模型转换的数据进行对比,返回对比一致的检查标记,确认迁移完成。
CN201911129051.3A 2019-11-18 2019-11-18 基于Mongify迁移Oracle数据至Mongo DB数据库的方法 Active CN110851425B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911129051.3A CN110851425B (zh) 2019-11-18 2019-11-18 基于Mongify迁移Oracle数据至Mongo DB数据库的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911129051.3A CN110851425B (zh) 2019-11-18 2019-11-18 基于Mongify迁移Oracle数据至Mongo DB数据库的方法

Publications (2)

Publication Number Publication Date
CN110851425A CN110851425A (zh) 2020-02-28
CN110851425B true CN110851425B (zh) 2023-05-26

Family

ID=69602031

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911129051.3A Active CN110851425B (zh) 2019-11-18 2019-11-18 基于Mongify迁移Oracle数据至Mongo DB数据库的方法

Country Status (1)

Country Link
CN (1) CN110851425B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230401192A1 (en) * 2022-06-13 2023-12-14 The Toronto-Dominion Bank Systems and methods for optimizing data processing in a distributed computing environment

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106095991A (zh) * 2016-06-21 2016-11-09 南京大学 一种自动生成从关系型数据库向MongoDB数据库数据迁移的代码的方法
CN106126543A (zh) * 2016-06-15 2016-11-16 清华大学 一种关系型数据库到MongoDB的模型转换和数据迁移方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9176997B2 (en) * 2013-06-28 2015-11-03 Sap Se Universe migration from one database to another

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106126543A (zh) * 2016-06-15 2016-11-16 清华大学 一种关系型数据库到MongoDB的模型转换和数据迁移方法
CN106095991A (zh) * 2016-06-21 2016-11-09 南京大学 一种自动生成从关系型数据库向MongoDB数据库数据迁移的代码的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
赵艳妮 ; 郭华磊 ; .一种RDBMS到MongoDB数据迁移方法.现代计算机(专业版).2017,(22),全文. *

Also Published As

Publication number Publication date
CN110851425A (zh) 2020-02-28

Similar Documents

Publication Publication Date Title
US11494688B2 (en) Learning ETL rules by example
CN103995854A (zh) 一种设备跨版本升级方法和装置
CN101770479B (zh) 一种关联关系的查询方法及装置
US10756759B2 (en) Column domain dictionary compression
US20150293946A1 (en) Cross model datum access with semantic preservation for universal database
CN101499069A (zh) 内存数据库文件的更新方法及更新装置
CN110851425B (zh) 基于Mongify迁移Oracle数据至Mongo DB数据库的方法
CN110096541B (zh) 一种数据库间的数据交换方法及装置
CN105574021A (zh) 一种数据库的数据压缩方法和装置
CN104317576A (zh) 一种基于eclipse的代码自动生成方法及系统
CN116171453A (zh) 用于生成和利用制造仿真模型的知识图谱的方法和装置
CN104216961A (zh) 一种数据处理方法和装置
CN104317864A (zh) 一种基于iec61850逻辑节点的信息模型自动识别的方法
US20170032052A1 (en) Graph data processing system that supports automatic data model conversion from resource description framework to property graph
CN108446145A (zh) 一种分布式文件自动加载mpp数据库方法
US10776313B2 (en) Converting source objects to target objects
CN102426612A (zh) 条件对象查询方法及系统
US20180131470A1 (en) Advanced retry mechanism for transmitting large datasets
CN114048204A (zh) 基于数据库倒排索引的北斗网格空间索引方法和装置
CN114048271A (zh) 北斗网格数据模型在数据库中的存储方法和装置
CN111651968A (zh) Excel报表自动生成方法、系统及信息数据处理终端
CN109543164B (zh) Autocad结合Excel生成钻孔柱状图的方法
CN112860802A (zh) 数据库操作语句的处理方法、装置及电子设备
CN105138692A (zh) 一种大数据访问和管理的中间件定制系统与方法
CN110515993B (zh) 税务数据转换方法及系统

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
GR01 Patent grant
GR01 Patent grant