科学的规划

PDF
科学的规划/2020年/文章

研究文章|开放获取

体积 2020年 |文章的ID 8813350 | https://doi.org/10.1155/2020/8813350

Zain阿夫塔,Waheed伊克巴尔,哈立德·穆罕默德的曙光下,费萨尔。布哈里穆罕默德•阿卜杜拉, 自动NoSQL与动态模式映射到关系数据库的转换”,科学的规划, 卷。2020年, 文章的ID8813350, 13 页面, 2020年 https://doi.org/10.1155/2020/8813350

自动NoSQL与动态模式映射到关系数据库的转换

学术编辑器:沙纳齐尔
收到了 2020年3月19日
修改后的 02年6月2020年
接受 05年6月2020年
发表 2020年7月01

文摘

最近,使用NoSQL数据库增长管理非结构化数据,以确保应用程序性能和可伸缩性。然而,许多组织倾向于从一个操作NoSQL数据库传输数据到基于sql的关系数据库使用现有的商业智能工具,分析,决策和报告。NoSQL的现有方法到关系数据库转换需要手动模式映射,这需要专业知识和消耗明显的时间。因此,一个有效的和自动的方法需要一个结构化的NoSQL数据库转换成一个结构化的数据库。在本文中,我们提出并评估一个有效的方法来自动NoSQL数据库转换成一个关系数据库。在我们的实验评估,我们使用MongoDB的NoSQL数据库、关系数据库和MySQL和PostgreSQL为不同大小的数据集执行转换任务。我们观察到的性能优良,与现有的方法相比,在NoSQL数据库的数据转换成一个关系数据库。

1。介绍

传统的基于sql的关系数据库管理系统(RDBMS)著名由于高效的数据管理和ACID(原子性、一致性、隔离、耐久性)属性。然而,ACID属性限制RDBMS的能力提供高可伸缩性。最近,NoSQL数据库的使用增加了与云计算和大规模应用程序比传统的关系数据库。非关系数据库支持的管理结构化、非结构化和半结构式nontabular表单中的数据提供更多的灵活性在处理大数据高效(1]。此外,这些数据库是成本效益,高可用性,无模式和可伸缩的管理大量的数据2- - - - - -5]。NoSQL数据库的schemalessness特性允许例外管理异构数据的灵活性,允许每个记录的不同结构,也节省了所需的时间定义的模式。由于模式的灵活性,许多公司采用NoSQL数据库的数据仓库(6- - - - - -8]。这些特性是有吸引力的;然而,大多数的NoSQL数据库提供最终一致性,而不是很强的一致性。许多应用程序能够在短时间内放松一致性;例如,社交网络分析服务,使用传感器和数据收集应用程序可以前几毫秒延迟传播到所有节点的数据。最终一致性模型确保更新传播到所有节点在一个特定的时间间隔,以确保数据一致性(9,10]。

ETL(提取、转换、加载)工具通常用于从源数据库中提取数据,将其转换为目标格式,然后将数据装载到目标数据库(11,12]。提取方法包括从源获取数据,应该正确和准确的后续过程取决于(13]。转换阶段遵循一系列复杂的数据清洗和转换规则准备加载到目标数据格式(14]。ETL转换方法是最关键的部分,需要复杂的验证,以确保模式不同的源和目标数据库(13]。通常,领域专家在源和目标数据库专业知识需要监督转换方法,以确保适当的数据转换,这是昂贵的对许多组织(15]。加载阶段将数据传送到目的地。装运是相对简单的过程,因为它需要联系目的地和批量调度数据来源。最著名的和工业实际的ETL工具是Talend开放工作室(TOS) (https://www.talend.com/products/talend-open-studio/),它还提供NoSQL SQL数据转换(16,17]。然而,服务条款需要手动模式映射,在NoSQL的情况下是非常困难的,因为大多数的这些是无模式的,在某种程度上,介绍挑战手动模式的识别。

NoSQL数据库有很多优势在关系数据库;然而,有一些缺点。例如,这些数据库缺乏一个标准接口和查询语言来有效地管理数据。此外,灵活的模式引入了挑战“提取和转换”ETL任务的方法。NoSQL数据库不支持连接和没有OLTP(联机事务处理)的支持,像SQL数据库,因此很难执行复杂的分析(18]。随着数据的增加,大数据仓库正在开发和需要来自NoSQL数据源的数据,并与这些大型数据仓库ETL工具的需求正在增加。许多工具,从SQL数据库执行ETL NoSQL数据库是可用的(19];然而,很少有工具,可用于NoSQL数据库SQL数据库ETL过程。这些工具需要NoSQL数据库的模式工作,按顺序执行查询,这使得它们缓慢。从NoSQL数据库的模式识别的一个重大问题是由于NoSQL数据库(无模式的本质20.,21]。人工识别的NoSQL数据库模式是一个复杂的,耗时的,错误的任务,因此,是一个昂贵的过程。因此,自动模式发现和映射是至关重要的。这些问题的产生需要一个ETL方法能够自动识别模式从NoSQL数据库并执行ETL迅速以类似的方式。

在本文中,我们提出并评估一个高效的ETL方法执行NoSQL关系数据库自动迁移,它能够映射模式从源NoSQL动态目标RDBMS。建议的解决方案需要源NoSQL数据库和目标RDBMS数据库开始ETL任务。系统提取源数据,然后动态地确定目标RDBMS的模式来填充它。一旦提取完成后,系统将数据转换成目标格式最后批量加载数据。拟议的ETL工具可以很容易地使用non-ETL专业人员执行NoSQL SQL数据转换与最低成本,努力,和时间。实验评估使用不同大小的NoSQL数据库相比,显示了性能优良的ETL工具。本文的主要贡献包括以下:(1)发展一个高效、自动ETL NoSQL关系数据库转换的方法(2)自动模式识别给定源的NoSQL数据库和关系数据库映射到一个给定的目的地(3)绩效评估建议的解决方案使用多个大小不同的NoSQL数据库(4)提出系统的比较与现有最先进的Talend开放工作室的NoSQL数据库关系ETL任务(5)使用多个关系数据库实现的评估验证了该方法的性能

剩下的纸是组织如下。提出了相关工作第二节。我们提供的细节提出了系统第三节。探讨了实验设计和设置第四节。评估并给出结果第五节。最后,讨论了结论和未来的工作第六节

NoSQL数据库是吸引关注,因为灵活的模式和高可伸缩性(22- - - - - -24]。一些研究人员基于文档的NoSQL数据库的模式识别问题(21]。基于文档的NoSQL数据库存储数据的JSON格式,因为这种格式的灵活性(25]。由于这种灵活性在存储数据,从JSON文件识别模式是一项复杂的任务。Izquierdo和卡博特26)提出了一种基于模型的方法,整体模式推断从一个小的文件,并生成一个模型基于推理。Frozza et al。27]介绍了一种算法,分析了从基于文档的NoSQL数据库模式(MongoDB被选在他们的论文中)27]。然而,该算法没有考虑数据类型的异质性对同一个键在不同的文档;同时,算法是无效的。

NoSQL和RDBMS数据库相比,许多研究人员。例如,李和Manoharan [5)提出一项调查在不同的NoSQL和SQL数据库和比较他们的不同方面,包括阅读、写作、和删除操作;作者还讨论了NoSQL的好处。垫片(28]讨论了上限定理;在其基础上,NoSQL数据库只能提供任何的两个特征的一致性、可用性和性能。布鲁尔(29日]规定的细节上限定理并给出一个命题,,配置数据库,可以之间做出权衡三帽特征允许NoSQL数据库的所有三个特征一致性、可用性和性能。Boicea et al。30.)提出了一项调查,他们比较语法,速度,和功能的MongoDB和甲骨文,MongoDB不支持OLTP和连接,而这些都是基于sql数据库的关键属性。Okman et al。31日)也提出了一个关于NoSQL数据库的安全问题的调查。作者讨论了MongoDB的不同的安全问题和卡桑德拉DB。孔隙和帕瓦尔32)提出的一项调查中,他们讨论了SQL和NoSQL数据库之间的差异,强调了不同的属性支持的SQL和NoSQL,如ACID属性、交易支持,模式和规范化。

在数据仓库ETL工具被广泛使用,数据聚合来自不同来源的数据分析。德等。33]讨论了非结构化数据的集成到关系数据仓库为更好的分析和报告。在et al。34)提高数据仓库的ETL过程,列举了一些挑战ETL过程的改进。Skoutas和Simitsis35]介绍了ETL过程的自动设计的概念使用属性映射和ETL转换使用语义web技术的识别。Bergamaschi et al。36]提出的语义映射的工具来自异构数据源的属性通过识别源模式的相似性数据仓库模式,这有助于将新数据源添加到现有的数据仓库。邦萨尔(37)提出了一个语义框架ETL大数据集成,需要手动创建本体。普拉斯et al。38]提出的数据匿名化在生物医学数据仓库的ETL过程,和一个插件Pentaho数据集成工具是(39),它允许进行数据匿名化集成到ETL流程和支持广泛的数据源使用Pentaho的基于流的处理。

不同来源之间建立数据转换解决方案是一个热门话题。拉姆赞•et al。40)提出了一种数据转换和清洗模块从关系数据库迁移数据到NoSQL-based数据库。Kuszera et al。41]介绍了关系型数据库迁移到NoSQL-based MapReduce方法文档和列存储。Sellami et al。42)提出一套规则数据仓库的自动转换成基于NoSQL存储。Hanine et al。43提出并开发了一个示例应用程序,用于从RDBMS数据迁移到NoSQL数据库;NoSQL的SQL数据库的优点进行了讨论。Yangui et al。44]提出一个ETL工具来转换成NoSQL-based文档存储多维数据模型。

如今,许多工具可用于处理原始数据的清洗和转换成一个特定的目的地格式(45,46]。歌等。47讨论和回顾了技术用于将XML数据转换成关系数据库。朱et al。48)提出了一个高效的基于XML的数据到一个关系数据库转换方法通过分析复杂的XML模式。许多IT公司,包括IBM、Informatica、无处不在,蒙戈实验室,Talend和Pentaho,开发他们的ETL工具(http://www.jonathanlevin.co.uk/2008/03/open-source-etl-tools-vs-commerical-etl.html),这是特定于一个给定的技术和需要手动配置和经验执行ETL任务。

有很少的努力构建NoSQL关系数据库ETL技术。Maity et al。49)提出了一个通用框架转换NoSQL关系型存储;然而,所需的工作手册模式识别系统的效率也没有讨论。一些现有的工具还可用于NoSQL到关系数据库ETL任务,但是这些工具还需要手动模式映射。在本文中,我们提出并评估一个高效的NoSQL关系数据库转换的ETL工具,它能够自动识别NoSQL数据库的模式,然后加载数据到基于sql的关系数据库效率。

3所示。提出了系统

3.1。概述

提出系统动态识别模式,然后提取、转换和加载数据从NoSQL到关系数据库中。见图1。系统工作流程包括以下步骤:(1)新NoSQL SQL ETL作业提交作业管理器,它调用集成模式分析仪来识别源NoSQL数据库的模式。模式分析仪远期JavaScript对象表示法(JSON)格式的模式。我们解释模式分析仪3.2节(2)JSON模式文件被解析并转换为SQL查询根据目的地为数据库创建数据库格式,将解释道3.3节(3)创建SQL数据库模式后,该ETL流程发起的并行处理SQL的NoSQL数据;ETL过程的启动将会解释3.4节(4)ETL过程从源数据库提取数据批量;提取后,处理数据在目标数据库的格式创建查询,然后数据加载到目标数据库并发;转换从源到目标数据库将更加详细地解释3.5节

3.2。模式分析

NoSQL数据库的自动模式检测是一项具有挑战性的任务,并提出系统实现自动创建目的地SQL数据库模式。为此,我们使用了一个开源工具命名各种(https://github.com/variety/variety),MongoDB的模式分析。各种开发提取模式的一个集合。将其集成到我们的提出的系统,我们自动复习每个集合在NoSQL数据库并生成JSON格式的模式。MongoDB是一个基于文件的数据库,记录存储在JSON格式以极大的灵活性和没有任何限制文件中的值的数据类型,数据处理识别模式,挑战将会介绍。此外,数据类型限制键不受限。例如,一个JSON文档可能有一个键和一个值类型的数量,和另一个文档在同一集合可以有相同的键和一个值类型的字符串。因此,关键的名称在不同的文档可能包含不同类型的数据时是一样的。这种异质性在MongoDB文档需要特殊处理。我们定制的和放松的数据类型验证各种工具加快整体模式分析过程。

算法1显示的总体策略提出了一个集合模式分析仪。模式分析了每个收集和识别所需的模式创建在关系数据库中。一旦发现模式,ETL过程调用开始执行转换根据接收到的模式。模式分析仪遍历NoSQL数据库收集、分析和记录所有的不同的密钥,然后以JSON格式输出模式,这部分将被转发到ETL过程。如果一个关键的价值类型JSON文档,或JSON数组,然后进一步解析到一个给定的深度(在讨论3.3节)。的isDocument函数接收给定键值对记录;它返回true,如果数据类型的值是一个JSON对象;否则,它将返回false。同样的,isArray接收的记录的关键字的值并返回true,如果它的数据类型JSON数组否则,则返回false。功能parseDocumentparseArray被写入执行内部JSON文档的解析/数组递归。

输入:MongoDB收集(集合)
输出:模式的集合以JSON格式(模式)
foreach记录rЄ集合
foreachcolumn_name cЄr
模式模式c
如果isDocument(r["c"))然后
parseDocument (r["c"))
其他的如果isArray(r["c"))然后
parseArray (r["c"))
结束
结束

渐近时间复杂度的算法1Ο(r×c),r记录的数量,c在每个记录的列数,和效用函数(isArrayisDocument)中使用的算法被认为是常数时间消费。

默认情况下,MySQL和PostgreSQL提供支持插入使用JSON格式的数据。例如,一个新列类型介绍了JSON在关系数据库中存储整个JSON在一列。列存储的JSON,可以查询,但这样的查询的性能为大量记录是不好的。此外,一些公用事业公司也提供进口JSON文档;然而,这些工具不自动创建一个模式和异质性也不解决数据类型相同的键在不同的文档。然而,我们建议的解决方案通过分析JSON文档自动创建模式,也解决了数据类型异构性问题。

3.3。创建数据库

模式分析器生成JSON格式的模式,系统解析构建SQL查询用于创建数据库和表。目的地的查询执行SQL数据库创建一个数据库模式。在JSON对象是嵌套的,也包含数组。我们动态解析这些父母和孩子来创建表。创建表后,剩余的识别键被解析为各自的表、列和主键设置_id,这是默认文档ObjectId MongoDB集合。所有的表为内部文件和数组创建主键作为自动递增整数id以及主文档的id。在我们的系统,我们可以配置JSON解析k内部的水平;然而,在我们的实验评估,我们使用k= 2来确定两个级别的内部层次结构在每一个JSON对象。图2显示一个例子的JSON文档系统动态解析创建SQL模式。

3.4。ETL过程开始

我们实现了我们的ETL过程节点。js programming language and employed its Cluster (https://nodejs.org/api/cluster.html)计划启动ETL作业的并发进程。所有进程初始化的主执行ETL过程。主过程动态地分配每个工人的工作过程。一旦每个进程受到了开始点和数据的主过程的限制,数据提取。

算法2显示了ETL过程的开始。主进程负责启动独立的ETL过程的执行。每个ETL过程开始后其个人MongoDB的逻辑分区信息和连接信息来源以及MySQL或PostgreSQL目的地。主进程使用MongoDB连接信息集合名称处理和识别模式。函数initialize_schema以JSON模式集合作为输入并解析它创建一个关系数据库模式使用SQL查询。变量代表的文件/记录数量限制用于委托工作执行ETL的工作进程。主进程负责初始化模式在目标数据库之前必须完成ETL过程的执行。该系统使用的能力nETL作业的工作进程。在我们的实验评估,确定了最优值n用于改进整个ETL作业执行时间。的识别n在解释3.4.1节

输入:SQL数据库信息(桌子),进程数(n),MongoDB连接信息(信息),集合名称(collname),MongoDB模式(模式)
输出:成功的过程开始
db⟵createConnection (信息)
initialize_schema (模式)
长度⟵db.getCollection (collname).count ()
限制
j⟵0到n
开始⟵ j
如果j=n然后
长度限制⟵−开始
create_process (信息,桌子,模式,开始,限制)
结束

渐近时间复杂度的算法2O(n×l),n的过程和数量吗l时间消耗的功能吗create_process,而等实用功能createConnectionsinitialize_schema消耗的时间常数。

3.4.1。确定数量的工作进程(n)

拟议的ETL系统使用多个并发为每个ETL作业工作进程。我们评估MongoDB MySQL ETL作业不同数量的工作进程(n)。我们使用n= 2到20,n是过程,的数量和每个实验重复三次。图3显示了使用ETL平均执行时间不同数量的工作进程。我们提出了系统显示的最小时间n= 8流程。因此,我们八个工作进程用于我们的实验评价。

3.5。转换和加载

每个ETL过程将数据从源数据库并发到目的地。图4显示了ETL过程的工作流。每一个过程从JSON格式的源NoSQL数据库提取数据并将其发送给解析器。的数据解析器解析JSON数据,并将其转发给查询构建器。查询构建器接收解析数据,并开始创建插入查询,按照MongoDB的模式集合,在目标数据库所需的格式。查询构建器创建了一个批处理后插入查询接收的数据,然后将该查询转发到查询执行器。查询执行器将数据加载到目的地SQL数据库。

算法3显示了转换和加载步骤提出的伪代码系统。每一个ETL过程打开连接SQL数据库源MongoDB和目的地。然后,数据库记录批次从源数据库中读取,然后创建相应的SQL查询检索到NoSQL记录。这是做的createQuery函数。createQuery函数从MongoDB数据库中读取文件,然后解析文档,包括它的子文档和子队列创建一个查询,使用解析文档数据,为每个子文档和子数组。从收到文档的集合的查询的数据然后添加到已经创建批处理执行查询。最后,批查询然后在目标RDBMS执行。这一过程持续进行直到完成NoSQL数据不是转换和加载到SQL数据库。这是通过每一个ETL过程的逻辑分区。

输入:MongoDB连接信息(信息),目标数据库信息(桌子)、数据位置开始点(开始),长度阅读(限制)、批量大小(batch_size)
输出:SQL数据库数据加载到目的地。
db←createConnection (信息)
sql←createConnection (桌子)
查询←{}
n←0
开始<限制
文档←db.readBatch (batch_size)
foreach医生Є文档
查询←查询∪createQuery (医生)
nn+ 1
结束
执行(查询)
开始←开始+n
结束

渐近时间复杂度的算法3是O (b×l),b批处理大小和吗l是最大限度的。的算法n=b×l代表总数完成给定的ETL任务所需的迭代。效用函数createConnections,readBatch,createQuery是常数时间函数。

4所示。实验设计和设置

我们评估实验酷睿i7机octa-core CPU, 16 GB物理内存和2 TB硬盘运行Ubuntu 14.04 (x64)操作系统。下面我们简要解释基线法,数据集生成和评价实验设计中使用该系统。

4.1。基线ETL方法

我们使用了一个开源的大数据转换工具,Talend开放工作室(TOS),NoSQL SQL数据转换作为基线工具比较建议的解决方案。服务条款是一个商业智能工具提供各种组件用于ETL作业,这是非常著名的。它提供了一个图形用户界面(GUI)的创建工作,选择不同的组件,并定义流的工作通过连接组件。服务条款自动生成的java代码基于手动创建的配置。

我们选择了服务条款作为基线,因为它是一个免费和开源商业智能工具。它提供了各种各样的组件,这些组件可用于执行业务分析更好的业务决策。它是使用最广泛的商业智能工具在市场上。Talend是公认的市场领导者在2019年由Gartner的魔力象限数据集成工具。因为它是广泛用于ETL处理,这是最好的选择之一作为基准进行比较与我们提出的系统。在我们的实验评估,我们已经配置了TOS使用多线程执行ETL任务执行。

在评估中,我们使用不同的服务条款,包括组件tMongoConnection,tExtractJSONFields,MongoDBExtract,tMap,tMySQLInput,tMySQLOutput,tPostgresqlInput,tPostgresqlOutput设计这两个职位。图5展示了MongoDB的配置MySQL ETL作业使用服务接口。

4.2。数据集生成

评估我们的方法,数据集与MongoDB生成不同数量的单据,100 k, 500 k, 1000 k, 5000 k NoSQL数据库中的记录(MongoDB集合)。每个数据集生成JSON格式的MongoDB使用Faker.js包的节点。js (https://www.npmjs.com/package/faker)。Faker.js提供了多种辅助函数生成有意义的实验数据。我们建立一个数据生成器,使用提供的各种辅助函数Faker.js数据生成。每一个helper函数提供的Faker.js能够生成一个JSON对象特定的键值对。没有两个辅助函数可以生成一个JSON文档对象包含相同的键和JSON对象结构。我们使用三种不同的辅助功能Faker.js在每个数据集生成记录。这确保了数据集的异质性。使用数据生成器生成的数据集(Faker.js)。以下不同的集合/数据库生成评估拟议的系统:(1)事务:它包含数量、日期、业务名称、类型和键(2)userCard:它包含名称、用户名、电子邮件、电话、网站,子文档地址(街道,套件,城市,邮政编码,和子文档地理(经度、纬度)),和子文档的公司(名称、口头禅和bs)键(3)contextualCard:它包含名称、用户名、《阿凡达》url,电子邮件、dateofbirth, phoneNumber,网站的url,和子文档地址(streetName secondaryAddress,城市,邮政编码,子文档地理(经度、纬度)),和子文档的公司(公司名称、口头禅、和bs)键

每个数据集生成使用事务,userCard, contextualCard助手的功能Faker.js为了随机生成有意义的数据。这种数据生成方式确保每个数据集都有异构记录模式。图6显示了不同的关系表(模式)JSON文档确认分析仪使用该模式。

4.3。实验设计

我们评估拟议的NoSQL SQL数据转换解决方案在两个不同的实验使用MongoDB NoSQL源数据库和SQL数据库使用两个不同的目的地。表1显示了进行实验的总结。


实验 描述

实验1:MySQL ETL MongoDB MongoDB MySQL转换与该方法使用100 k, 500 k, 1000 k, 5000 k数据库记录,与基线相比的方法
实验2:PostgreSQL ETL MongoDB MongoDB PostgreSQL转换与该方法使用100 k, 500 k, 1000 k, 5000 k数据库记录,与基线相比的方法

实验1,我们配置文件的执行时间MongoDB MySQL ETL作业使用该方法,然后比较结果与工作执行时间使用基准工具。

实验2,我们配置文件的执行时间MongoDB PostgreSQL ETL作业使用该方法,然后比较其与工作执行时间使用基线ETL工具。在两个实验中,我们使用一个数据库,100 k, 500 k, 1000 k, 5000 k记录执行ETL作业。每个实验重复三次。

5。评估和结果

5.1。模式检测评价

我们评估我们的方法通过重复每一个实验的三倍。在每一次迭代的实验中,使用该模式执行模式检测分析仪。模式分析仪分析数据库的文档并生成JSON格式的模式,作为解释3.2节。表2显示了这一模式分析时间为每个数据集有100 k, 500 k, 1000 k, 5000 k数据库记录。模式检测时间增加而增加的数量记录的数据集。模式检测需要平均5.39,32.45,51.23,和257.60秒的每个迭代的实验使用100 k, 500 k, 1000 k, 5000 k数据库记录,分别。结果表明,该模式检测方法是有效的,因为它只需要4.29分钟5000 k记录分析和识别大型NoSQL数据库的模式。


迭代 数量的记录
100 k 500 k 1000 k 5000 k

1 5.33 32.12 50.52 253.22
2 5.30 31.94 51.94 263.22
3 5.55 33.30 51.24 256.35
平均 5.39 32.45 51.23 257.60

5.2。实验结果

在每一次迭代的实验中,我们提议的ETL方法的执行时间,使用MongoDB作为源和使用MySQL和PostgreSQL作为两个独立的目标数据库,并与基线比较方法。我们使用100 k, 500 k, 1000 k, 5000 k ETL数据库记录。表3显示了ETL所需时间在每个迭代中提出并实验1和实验2的基线与不同大小的记录方法。我们的方法所花的时间使用记录的大小显著更少500 k, 1000 k, 5000 k在每个迭代中实验的基线方法相比,MySQL和PostgreSQL数据库作为一个目的地。100 k记录大小,两个迭代每个实验使用该方法花费更少的时间比基线;然而,一个迭代的实验1和2需要0.86——0.31秒的额外的时间使用该方法相对于基线的方法。总体而言,该方法所花的时间与基线相比显著更少。此外,我们注意到,从MongoDB ETL PostgreSQL相比更有效率的ETL MongoDB MySQL。


记录大小 MySQL PostgreSQL
基线 提出了 基线 提出了

100 k 43.15 31.12 25.32 23.99
30.93 31.79 25.60 24.12
35.37 31.78 25.39 25.70
平均 36.48 31.56 25.44 24.60
500 k 210.75 75.49 150.79 37.40
200.29 96.03 144.57 49.97
201.19 74.11 148.62 53.37
平均 204.08 81.88 147.99 46.91
1000 k 333.41 131.62 234.40 65.13
329年 134.78 239.69 74.66
324.55 133.50 234.85 65.66
平均 328.99 133.3 236.31 68.48
5000 k 1615.36 586.18 1225.37 190.99
1647.16 587.60 1189.66 231.76
1632.93 605.69 1240.32 189.83
平均 1631.82 593.16 1218.45 204.19

7显示该方法的相对比较基线使用不同大小的数据集实验1和2。我们提出方法收益率为3.4%,68.3%,71.0%,和83.2% MongoDB少时间MySQL ETL(实验1)相比基线方法100 k, 500 k, 1000 k, 5000 k数据库记录,分别。该方法还优于基线方法在MongoDB PostgreSQL ETL(实验2)通过减少执行时间13.4%,59.9%,59.4%,和63.6%的数据库记录大小100 k, 500 k, 1000 k, 5000 k,分别。

4显示了吞吐量在每个迭代中提出并实验1和2的基本方法。我们提出的方法优于基准收益率方法,显著提高吞吐量。该方法显示良好的吞吐量在ETL从MongoDB到PostgreSQL。


记录大小 MySQL PostgreSQL
基线 提出了 基线 提出了

100 k 2317年 3213年 3949年 4168年
3233年 3146年 3906年 4146年
2827年 3147年 3939年 3891年
平均 2793年 3169年 3931年 4068年
500 k 2372年 6623年 3316年 13369年
2496年 5207年 3459年 10006年
2485年 6747年 3364年 9369年
平均 2451年 6192年 3380年 10915年
1000 k 2999年 7598年 4266年 15354年
3040年 7419年 4172年 13394年
3081年 7491年 4258年 15230年
平均 3040年 7503年 4232年 14659年
5000 k 3095年 8530年 4080年 26179年
3036年 8509年 4203年 21574年
3062年 8255年 4031年 26339年
平均 3064年 8431年 4105年 24698年

8展示了我们之间的吞吐量增益的相对比较方法在实验1和2和基线法。该方法产量1.13 x 2.52 x 2.46 x 2.75 x乘以更高的吞吐量比基线方法在MongoDB的ETL MySQL数据库记录的(实验1)大小100 k, 500 k, 1000 k, 5000 k,分别。在实验2中,该方法产量1.03 x 3.23 x 3.46 x 6.02 x乘以更高的吞吐量比基线方法记录大小100 k, 500 k, 1000 k, 5000 k,分别。

9显示了改进吞吐量增加数据库记录的数量使用建议和基线ETL目的地MySQL和PostgreSQL数据库的方法。该方法显示了显著增加吞吐量的增加数据库记录的大小。然而,吞吐量几乎是相同的使用基线ETL方法增加数据库记录的数量。我们提出的方法提高了吞吐量的大尺寸的ETL作业的并发进程执行。

在我们的解决方案中,插入的速度目的地关系数据库可能影响ETL作业的执行时间。我们评估提出了ETL方法使用两个不同的目的地数据库。结果表明,PostgreSQL数据库执行比少的MySQL数据库作为目的地,因为插入PostgreSQL相比MySQL。然而,我们不遵守任何使用PostgreSQL的存储开销和MySQL在我们建议的解决方案。该系统是通用的支持任何目的地数据库;然而,一个基本的连接器需要添加任何SQL数据库。

传统ETL系统Talend开放工作室是依赖手工执行ETL模式配置成功。然而,我们提出了系统自动识别模式来减少手工的工作模式配置。此外,该ETL方法显示了显著减少执行时间比现有最先进的基准工具。

6。结论和未来的工作

NoSQL数据库是最适合可伸缩的系统和正在崛起。关系数据库的存在容易管理的数据是一个重要的特性,由于酸和SQL性能。在本文中,我们提出了一个高效的NoSQL到关系数据库迁移系统。我们的实验评价表明,该方法可以自动识别模式的一个关系数据库,然后使用NoSQL并发进程转换和将数据装载到目标数据库。我们的实验评价显示了可伸缩性和性能比现有最先进的开源工具。该方法有利于ETL任务特别需要从NoSQL数据库传输数据到关系数据库。

作为这个项目的扩展,提出了系统中不同的NoSQL实现将合并为源数据库,以及整合Hadoop和火花的并行数据转换50为了提高转换时间。

数据可用性

本研究中使用的数据可从相应的作者。

的利益冲突

作者宣称没有利益冲突。

确认

作者要感谢苏尔坦王子大学利雅得KSA,部分支持这项工作。

引用

  1. a . Raut“NOSQL数据库及其与RDBMS相比,“计算智能研究的国际期刊,13卷,不。7,1645 - 1651年,2017页。视图:谷歌学术搜索
  2. j . Pokorny“NoSQL数据库:数据库可伸缩性一步在web环境中,“国际期刊的网络信息系统,9卷,不。1,第82 - 69页,2013。视图:出版商的网站|谷歌学术搜索
  3. r . Kanwar、p . Trivedi和k·辛格“NoSQL、分布式数据库管理系统解决方案”国际期刊的计算机应用程序,卷67,不。2,6 - 9,2013页。视图:出版商的网站|谷歌学术搜索
  4. d . McCreary和a·凯利,理解NoSQL、曼宁、住所岛,纽约,美国,2014年。
  5. 李y和s . ManoharanSQL和NoSQL数据库的性能比较,IEEE,皮斯卡塔韦,新泽西,美国,2013年。
  6. z Bicevska和i Oditis NoSQL-based数据仓库解决方案,”Procedia计算机科学卷,104年,第111 - 104页,2017年。视图:出版商的网站|谷歌学术搜索
  7. m . Stonebraker”SQL数据库诉NoSQL数据库。”ACM的通信,53卷,不。4 - 11,2010页。视图:出版商的网站|谷歌学术搜索
  8. j .汉h . Haihong g . Le, j . Du“NoSQL数据库,调查”学报2011年第六届国际会议在普适计算和应用程序2011年10月,南非伊丽莎白港。视图:出版商的网站|谷歌学术搜索
  9. d·g·钱德拉”基地NoSQL数据库,分析”未来一代计算机系统52卷,13-21,2015页。视图:出版商的网站|谷歌学术搜索
  10. d . Bermbach和美国大,“最终一致性:最终是多久?Amazon S3的一致性行为的评价,“在学报第六届研讨会中间件为面向服务的计算,页1 - 6,里斯本,葡萄牙,2011年12月。视图:出版商的网站|谷歌学术搜索
  11. p . Vassiliadis“提取-转换-装载技术的一项调查,”国际期刊的数据仓库和采矿业,5卷,不。3,1-27,2009页。视图:出版商的网站|谷歌学术搜索
  12. p . Vassiliadis和a . Simitsis”提取、转换和装载,”百科全书的数据库系统美国,施普林格,波士顿,MA, 2018。视图:谷歌学术搜索
  13. s . k .邦萨尔和美国Kagemann集成大数据:语义提取-转换-装载框架”,电脑,48卷,不。3,42-50,2015页。视图:出版商的网站|谷歌学术搜索
  14. p . Vassiliadis a Simitsis, s . Skiadopoulos“概念对ETL流程建模,”学报》第五届ACM国际研讨会上的数据仓库和OLAP,页14号至21号纽约,纽约,美国,2002年。视图:出版商的网站|谷歌学术搜索
  15. t . Jorg和s . Deßloch”生成增量加载,ETL过程”学报2008年国际研讨会上数据库工程和应用程序ACM,页101 - 110年,别墅圣乔凡尼,意大利,2008年6月。视图:出版商的网站|谷歌学术搜索
  16. j . Sreemathy美国尼莎,c . Prabha g . p . RM”在使用Talend ETL数据集成学报2020年第六届国际会议上先进的计算机和通信系统(ICACCS)IEEE,页1444 - 1448年,哥印拜陀,印度,2020年3月。视图:出版商的网站|谷歌学术搜索
  17. r·a·尼斯贝特认为,数据集成与Talend开放工作室美国CiteSeer,普林斯顿,纽约,2010年。
  18. n·莱维特,“NoSQL数据库履行他们的承诺吗?”电脑,43卷,不。2、12 - 14,2010页。视图:出版商的网站|谷歌学术搜索
  19. Y.-T。廖,j .周,学术界。陆et al .,“数据适配器之间的查询和转换的SQL和NoSQL数据库”未来一代计算机系统卷,65年,第121 - 111页,2016年。视图:出版商的网站|谷歌学术搜索
  20. d .阁下和b . Sahoo存储大小估计无模式大数据应用程序:一个基于json的概述,”智能通信和计算技术施普林格,页315 - 323年,柏林,德国,2018年。视图:谷歌学术搜索
  21. j . Yoon d·宋,学术界。康,李,“法医调查框架文档存储NoSQL数据库管理系统:MongoDB为例,“数字调查,17卷,53 - 65年,2016页。视图:出版商的网站|谷歌学术搜索
  22. m . Abourezq和a . Idrissi Database-as-a-service大数据:概述”,国际期刊《先进的计算机科学和应用程序,7卷,不。1。视图:出版商的网站|谷歌学术搜索
  23. p . Atzeni f . Bugiotti l·卡比玻,r . Torlone“NoSQL数据建模的世界,”计算机标准和接口文章ID 103149卷,67年,2020年。视图:出版商的网站|谷歌学术搜索
  24. 项目中,k . Baina, m . Ghogho“NoSQL数据库:渴望消歧,”https://arxiv.org/abs/视图:谷歌学术搜索
  25. s . b . JatinMONGODB和SQL:一个案例研究在电力数据施普林格,柏林,德国,2016年。
  26. j·l·c·Izquierdo和j·卡伯特,“在JSON数据,发现隐含的模式”国际会议在Web工程施普林格,柏林,德国,2013年。视图:谷歌学术搜索
  27. 答:a . Frozza r·多斯桑托斯梅洛,f . d . s . da Costa”模式的方法提取JSON和扩展JSON文档集合,”学报2018年IEEE国际会议信息重用和集成(IRI)IEEE,页356 - 363年,盐湖城犹他,美国,2018年7月。视图:出版商的网站|谷歌学术搜索
  28. 郑胜耀垫片,“客人编辑介绍:上限定理日益增长的影响,“电脑,45卷,不。2、21 - 22日举行,2012页。视图:出版商的网站|谷歌学术搜索
  29. e·布鲁尔”帽十二年后:“规则已经改变了,”电脑,45卷,不。2,23-29,2012页。视图:出版商的网站|谷歌学术搜索
  30. a . Boicea f . Radulescu, l . i Agapin“MongoDB vs oracle数据库比较,”学报2012年第三国际会议上新兴智能数据和网络技术,页330 - 335,布加勒斯特,罗马尼亚,2012年9月。视图:出版商的网站|谷歌学术搜索
  31. l . Okman n . Gal-Oz y Gonen, e·古德和j·阿布拉莫夫,“NoSQL数据库的安全问题,”学报2011年IEEE 10日国际会议上的信任,在计算和通信安全和隐私长沙,页541 - 547年,中国,2011年11月。视图:出版商的网站|谷歌学术搜索
  32. 毛孔和s . b .帕瓦尔,”SQL & NoSQL数据库的比较研究”,国际先进的研究在计算机工程与技术》杂志上,4卷,不。5。视图:谷歌学术搜索
  33. c·德I.-Y。歌,c . Garcia-Alvarado”关系和非关系数据仓库的数据库系统,”诉讼的ACM 13日国际研讨会在数据仓库和OLAP-DOLAP 10,页67 - 68,休斯顿,德克萨斯州,美国,2010年。视图:谷歌学术搜索
  34. 诉在d . s . s . Sarangdevot j . r . n . r . Vidyapeeth g s Tanwar和a·沙玛,“提高性能的提取、转换和加载(ETL)在数据仓库中,“国际计算机科学与工程》杂志上,卷2,不。3、786 - 789年,2010页。视图:出版商的网站|谷歌学术搜索
  35. d . Skoutas和a . Simitsis”设计ETL流程使用语义web技术,”学报》第九届ACM国际研讨会上的数据仓库和OLAP, DOLAP 06年ACM,页67 - 74年,纽约,纽约,美国,2006年。视图:谷歌学术搜索
  36. s . Bergamaschi f . Guerra m·奥尔西尼c . Sartori和m . Vincini”语义方法ETL技术。”数据与知识工程,卷70,不。8,717 - 731年,2011页。视图:出版商的网站|谷歌学术搜索
  37. 美国邦萨尔”,对语义提取-转换-装载(ETL)大数据集成框架,”美国国会2014年IEEE国际大数据安克雷奇,页522 - 529年,正义与发展党,美国,6 - 2014。视图:出版商的网站|谷歌学术搜索
  38. f·普拉斯,h·斯宾格勒,r .《图片报》,j .可以和k·a·库恩“强化隐私生物医学数据的etl流程。”国际医学信息学杂志》上卷,126年,第81 - 72页,2019年。视图:出版商的网站|谷歌学术搜索
  39. m .脚轮、r . Bouman和j . Van幅Pentaho水壶解决方案:构建开源ETL Pentaho数据集成解决方案新泽西州霍博肯市约翰·威利& Sons,美国,2010年。
  40. s .拉姆赞•i s Bajwa b·拉姆赞·w·瓦尔,”智能数据迁移到NoSQL的基础工程安全的环境中,“IEEE访问7卷,第69057 - 69042页,2019年。视图:出版商的网站|谷歌学术搜索
  41. e . m . Kuszera l·m·佩雷斯和m·d·d·Fabro”向RDB NoSQL:将数据与metamorfose框架”美国第34 ACM / SIGAPP研讨会上应用计算ACM,页456 - 463年,利马索尔,塞浦路斯,2019年4月。视图:出版商的网站|谷歌学术搜索
  42. a . Sellami a Nabli, f . Gargouri“NoSQL图形数据转换的数据仓库模式基础,”国际会议上智能系统设计和应用程序施普林格,页410 - 420年,柏林,德国,2018年。视图:谷歌学术搜索
  43. m . Hanine a Bendarag, o . Boutkhoum“数据迁移方法从关系到NoSQL数据库,世界科学院、工程和技术,”国际期刊的计算机、电子、自动化、控制和信息工程,9卷,不。12日,第2373 - 2369页,2016年。视图:谷歌学术搜索
  44. r . Yangui a Nabli, f . Gargouri“ETL NoSQL仓储、基础框架”欧洲,地中海,中东会议信息系统页40-53 Springer,柏林,德国,2017年。视图:谷歌学术搜索
  45. a . k .保护好,a . Mallick a·戴伊和s . Bandyopadhyay”增强的数据清洗技术在文本文件中,“国际计算机科学杂志》上的问题(IJCSI),10卷,不。5,229年,页2013。视图:谷歌学术搜索
  46. h·穆罕默德·t·梁之c·科林和o . Siong李,“e - clean:患者数据,数据清洗框架”学报2011年第一次国际会议信息和计算智能IEEE,页63 - 68年,2011年12月印尼的万隆。视图:出版商的网站|谷歌学术搜索
  47. 大肠的歌,研究所。山楂和之。蔡”,处理XML到关系数据库转换使用基于模型的映射方法,”学报2018年IEEE会议开放系统(这个理事会)IEEE,页65 - 70年,浮罗交怡岛、马来西亚,2018年11月。视图:出版商的网站|谷歌学术搜索
  48. g·h·朱h . Yu风扇,h .太阳,“Mini-XML:一个有效的XML和关系数据库之间的映射方法,”学报2017年IEEE /埃西斯16计算机与信息科学国际会议(艾多酷)IEEE,页839 - 843年,武汉,中国,2017年5月。视图:出版商的网站|谷歌学术搜索
  49. b . Maity A Acharya、t . Goto和森,“NoSQL转换为关系模型框架,”学报第六届ACM /埃西斯国际会议上应用计算机和信息技术,页1 - 6,ACM,昆明,2018年6月。视图:出版商的网站|谷歌学术搜索
  50. b·伊克巴尔·w·伊克巴尔:汗,a·马哈茂德和a . Erradi“精明的边缘检测和高分辨率的视频流霍夫变换使用Hadoop和火花,“集群计算,23卷,不。1,第408 - 397页,2020。视图:出版商的网站|谷歌学术搜索

版权©2020 Zain阿夫塔等。这是一个开放的分布式下文章知识共享归属许可,它允许无限制的使用、分配和复制在任何媒介,提供最初的工作是正确引用。


更多相关文章

PDF 下载引用 引用
下载其他格式更多的
订单打印副本订单
的观点4645年
下载781年
引用

相关文章

文章奖:2020年杰出的研究贡献,选择由我们的首席编辑。获奖的文章阅读