关系型数据向图数据转换的etl中间件【字数:8962】
摘 要图数据库作为一种目前非常火热的非关系型数据库,在诸多领域有着非常广泛的应用场景。在此需求之上,我实现了一款数据迁移的中间件。此中间件基于一种子模式的关系型数据向图数据转换的ETL转换算法,并在原有算法之上加以改进,为用户提供了多种方式的关系型数据向图数据转换的方法。
目录
1. 绪论 1
1.1 项目背景 1
1.2 研发目的和意义 1
1.3 国内外研究现状 1
1.4 本文的主要工作内容 2
2. 需求工程 3
2.1 问题定义 3
2.2 可行性研究 3
2.2.1 技术可行性 3
2.2.2 经济可行性 3
2.3 人文影响 3
2.3.1 社会影响 3
2.3.2 法律影响 3
2.4 需求分析与建模 3
3. 软件设计 6
3.1 软件概要设计 6
3.2 详细设计 6
4. 软件实现 10
4.1 算法实现 10
4.1.1 数据抽取 10
4.1.2 数据转换 13
4.1.3 数据加载 15
4.2 前端部分 17
4.3 后端部分 19
4.4 测试效果 20
5. 总结与展望 22
5.1 工作总结 22
5.2 研究展望 22
参考文献 23
致谢 25
关系型数据向图数据转换的ETL中间件
ETL middleware for converting relational data to graph data
Abstract
As a very hot nonrelational database, graph database has a very wide range of application scenarios in many fields.I implemented a middleware for data migration on top *好棒文|www.hbsrm.com +Q: &351916072&
of this demand. This middleware is based on a submode relational data conversion ETL conversion algorithm for graph data, and is improved on the original algorithm, providing users with a variety of ways to convert relational data to graph data.
Keywords: relational database; graph database; data conversion; Neo4j; ETL
绪论
项目背景
随着用户数据规模的不断增长,当代社会已经迈入了大数据时代,数据成为了各个企业争先开拓的新市场。如何高效、便捷、直观地处理海量、快速、多样的数据,挖掘出大数据中的潜在知识,必为各行各业抢占的制高点。长久以来,企事业单位采用关系型数据库存储数据。随着图数据库的提出,许多企事业单位为了提高数据存储、管理效能,纷纷开始从关系型数据库向图数据库迁移。以图论为理论基础的图数据库,支持百亿乃至千亿量级规模的巨型高效关系运算,相比传统关系型数据库优势明显,为市场所青睐。
研发目的和意义
图数据库是NoSQL数据库的一种类型,它应用图形理论存储实体之间的关系信息。图数据库是一种非关系型数据库,它应用图形理论存储实体之间的关系信息。相对于关系数据库中的各种关联表,图数据库中的关系可以通过关系能够包含属性这一功能来提供更为丰富的关系展现方式。
关系型数据库在实际开发过程往往会碰到对象之间的关系异常复杂的情况,需要建立大量的关联表来记录关系,这就导致了关系型数据库繁杂易出错。而图数据库利用图数据的性质进行检索,效率远远高于关系型数据库。目前,图数据库已经在很多大型企业、项目内应用。但是仍有非常多的传统的关系型数据库因为成本,迁移效率等种种原因没有进行迁移。因此,研发支持关系型数据到图数据转换ETL中间件势在必行。
国内外研究现状
当前市面上也存在着一些关于关系型数据库转到Neo4j的ETL工具研究,但是大多采用的是直接转换,即利用ETL方法,先从数据库内抽取元数据,然后根据原有表的主外键关系,抽取出实体类表跟关系表,再跟这些关系,从数据库内抽取出数据,插入到Neo4j图数据库中。通过对现有的转换方法进行分析后,可知这种方法仍然存在一些问题。比如说转换成图数据之后,图数据的质量不高,面对复杂关系型数据库时转换的效率也不太高;没有对数据库做拆分,无法变成分布式存储。具体分析在参考文献[5]中已经给出,分析的十分透彻。该文献提出了一种基于子模式转换的ETL方法,这种转换算法基于图搜索的思想,将MySql数据库中的原有结构拆分成一个个子结构,以此来实现分布式转换的算法。算法的主要流程由加载原有关系数据库模式定义、建立数据库模式对应的模式关系图、拆分关系数据库模式为若干子模式、循环处理子模式、优化加载结果六个过程组成。
这种算法思想虽然解决了上述的效率以及图数据拆分等的问题,但是仍然存在着很多问题。比如转换方式单一等,还有更重要的该文献只是提供了理论性的研究,并未实际的做出产品。
本文的主要工作内容
本文关注关系型数据向图数据迁移,综合运用JavaEE、Spring Boot等技术开发支持关系型数据向图数据转换ETL中间件,并采用案例研究检验了本文方法的有效性。
需求工程
问题定义
市面上虽然已经出现了一些关系型数据向图数据转换的ETL转换工具,但是相对而言操作起来比较复杂,大部分都是首先需要自己写一张转换的格式表,然后才能开始转换导入,比起传统的数据库管理工具,对用户而言可能相对不怎么友好,转换的效率也比较一般,也不支持最后实现数据库分布式部署等等,总体来说可完善的空间还是比较大的。
目录
1. 绪论 1
1.1 项目背景 1
1.2 研发目的和意义 1
1.3 国内外研究现状 1
1.4 本文的主要工作内容 2
2. 需求工程 3
2.1 问题定义 3
2.2 可行性研究 3
2.2.1 技术可行性 3
2.2.2 经济可行性 3
2.3 人文影响 3
2.3.1 社会影响 3
2.3.2 法律影响 3
2.4 需求分析与建模 3
3. 软件设计 6
3.1 软件概要设计 6
3.2 详细设计 6
4. 软件实现 10
4.1 算法实现 10
4.1.1 数据抽取 10
4.1.2 数据转换 13
4.1.3 数据加载 15
4.2 前端部分 17
4.3 后端部分 19
4.4 测试效果 20
5. 总结与展望 22
5.1 工作总结 22
5.2 研究展望 22
参考文献 23
致谢 25
关系型数据向图数据转换的ETL中间件
ETL middleware for converting relational data to graph data
Abstract
As a very hot nonrelational database, graph database has a very wide range of application scenarios in many fields.I implemented a middleware for data migration on top *好棒文|www.hbsrm.com +Q: &351916072&
of this demand. This middleware is based on a submode relational data conversion ETL conversion algorithm for graph data, and is improved on the original algorithm, providing users with a variety of ways to convert relational data to graph data.
Keywords: relational database; graph database; data conversion; Neo4j; ETL
绪论
项目背景
随着用户数据规模的不断增长,当代社会已经迈入了大数据时代,数据成为了各个企业争先开拓的新市场。如何高效、便捷、直观地处理海量、快速、多样的数据,挖掘出大数据中的潜在知识,必为各行各业抢占的制高点。长久以来,企事业单位采用关系型数据库存储数据。随着图数据库的提出,许多企事业单位为了提高数据存储、管理效能,纷纷开始从关系型数据库向图数据库迁移。以图论为理论基础的图数据库,支持百亿乃至千亿量级规模的巨型高效关系运算,相比传统关系型数据库优势明显,为市场所青睐。
研发目的和意义
图数据库是NoSQL数据库的一种类型,它应用图形理论存储实体之间的关系信息。图数据库是一种非关系型数据库,它应用图形理论存储实体之间的关系信息。相对于关系数据库中的各种关联表,图数据库中的关系可以通过关系能够包含属性这一功能来提供更为丰富的关系展现方式。
关系型数据库在实际开发过程往往会碰到对象之间的关系异常复杂的情况,需要建立大量的关联表来记录关系,这就导致了关系型数据库繁杂易出错。而图数据库利用图数据的性质进行检索,效率远远高于关系型数据库。目前,图数据库已经在很多大型企业、项目内应用。但是仍有非常多的传统的关系型数据库因为成本,迁移效率等种种原因没有进行迁移。因此,研发支持关系型数据到图数据转换ETL中间件势在必行。
国内外研究现状
当前市面上也存在着一些关于关系型数据库转到Neo4j的ETL工具研究,但是大多采用的是直接转换,即利用ETL方法,先从数据库内抽取元数据,然后根据原有表的主外键关系,抽取出实体类表跟关系表,再跟这些关系,从数据库内抽取出数据,插入到Neo4j图数据库中。通过对现有的转换方法进行分析后,可知这种方法仍然存在一些问题。比如说转换成图数据之后,图数据的质量不高,面对复杂关系型数据库时转换的效率也不太高;没有对数据库做拆分,无法变成分布式存储。具体分析在参考文献[5]中已经给出,分析的十分透彻。该文献提出了一种基于子模式转换的ETL方法,这种转换算法基于图搜索的思想,将MySql数据库中的原有结构拆分成一个个子结构,以此来实现分布式转换的算法。算法的主要流程由加载原有关系数据库模式定义、建立数据库模式对应的模式关系图、拆分关系数据库模式为若干子模式、循环处理子模式、优化加载结果六个过程组成。
这种算法思想虽然解决了上述的效率以及图数据拆分等的问题,但是仍然存在着很多问题。比如转换方式单一等,还有更重要的该文献只是提供了理论性的研究,并未实际的做出产品。
本文的主要工作内容
本文关注关系型数据向图数据迁移,综合运用JavaEE、Spring Boot等技术开发支持关系型数据向图数据转换ETL中间件,并采用案例研究检验了本文方法的有效性。
需求工程
问题定义
市面上虽然已经出现了一些关系型数据向图数据转换的ETL转换工具,但是相对而言操作起来比较复杂,大部分都是首先需要自己写一张转换的格式表,然后才能开始转换导入,比起传统的数据库管理工具,对用户而言可能相对不怎么友好,转换的效率也比较一般,也不支持最后实现数据库分布式部署等等,总体来说可完善的空间还是比较大的。
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/jsjkxyjs/571.html