[发明专利]数据迁移的方法、系统、设备及计算机可读存储介质在审
申请号: | 202010117647.8 | 申请日: | 2020-02-25 |
公开(公告)号: | CN111324595A | 公开(公告)日: | 2020-06-23 |
发明(设计)人: | 钱昊;聂文真 | 申请(专利权)人: | 中信银行股份有限公司 |
主分类号: | G06F16/21 | 分类号: | G06F16/21;G06F16/22;G06F16/242;G06F16/28 |
代理公司: | 北京市兰台律师事务所 11354 | 代理人: | 张峰 |
地址: | 100010 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 迁移 方法 系统 设备 计算机 可读 存储 介质 | ||
本发明提供一种关系型数据库向Neo4j数据迁移的方法、系统、设备及可读存储介质,其中方法包括:S1.关系数据以相关数据流向的数据列级进行唯一标识构建数据索引;S2.编写相关cql文件代码,内容为执行APOC批量执行mysql查询的cypher语句;S3.编写迁移脚本文件执行数据迁移;S4.查询验证数据迁移内容的准确性。根据本发明的方案,实现了关系型数据库如mysql的数据向Neo4j之间的数据迁移,解决现有的数据导入问题。本发明基于APOC插件的调用,可以实现热迁移策略,无需停止服务再重启;通过建立合适的索引,使得数据关系导入更加迅速,经过实地测试,往往在几个数量级时间的差距;编写合适的Cypher、mysql迁移语句,避免语句中间多次嵌套。通过以上多种方式,提高相关数据迁移性能。
技术领域
本发明涉及计算机数据库技术领域,尤其涉及一种关系型数据库向Neo4j数据迁移的方法、系统、设备和可读存储介质。
背景技术
现有技术对数据迁移主要是通过Load CSV或者neo4j-import全量导入进行数据迁移。
现有技术存在以下缺陷:
1、Load CSV方式适用于数据量较小的方式,对于较大数据量的导入效率较低。neo4j-import适合大数据量的导入,但它的数据迁移主要是冷备份,需要停止Neo4j数据库服务,再进行csv文件的相关导入,对用户体验不够友好。
2、对于Neo4j直接遍历全部路径的图算法,在关系间建立速度会比较慢,索引的合适创建及优化显得尤为重要。
发明内容
针对上述问题,本发明设计出了一种关系型数据库向Neo4j数据迁移的方法、系统、设备和可读存储介质,实现关系型数据库如mysql的数据向Neo4j之间的数据迁移,解决现有的数据导入相关问题。
本发明的一个方案是一种关系型数据库向Neo4j数据迁移的方法,包括:
S1.关系数据以相关数据流向的数据列级进行唯一标识构建数据索引;
S2.编写相关cql文件代码,内容为执行APOC批量执行mysql查询的cypher语句;
S3.编写迁移脚本文件执行数据迁移;
S4.查询验证数据迁移内容的准确性。
在本发明的方案中,S1步骤中,将关系数据信息导入mysql数据库,对数据列级中的表级数据和字段级数据分别进行唯一标识;
所述表级数据通过source_Id、target_Id和tab_Id进行唯一标识,所述字段级数据通过source_Id、target_Id、tab_Id和col_Id进行唯一标识。
在本发明的方案中,S1步骤中,建立表级数据索引和唯一性约束,以及字段级数据索引和唯一性约束。
在本发明的方案中,S2步骤中,编写tableRelation.cql和columnRelation.cql文件进行表级数据和字段级数据的导入,调用apoc.periodic.iterate()函数批量执行,其中执行的是apoc.load.jdbc连接mysql,执行sql查询遍历。
在本发明的方案中,S3步骤中,编写data_migration.sh脚本,通过cypher-shell连接Neo4j数据库,之后在其中执行之前的cql文件,并将结果返回值输出重定向到一个result.txt中便于查看。
在本发明的方案中,S4步骤中,在Cypher-shell或者bolt协议连接的浏览器中,执行相关Cypher语句进行相关节点和关系的准确性验证。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中信银行股份有限公司,未经中信银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010117647.8/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置