当前位置: 首页 > 专利查询>河海大学专利>正文

一种面向流数据的多模数据库评测基准系统及其构建方法技术方案

技术编号:28837024 阅读:17 留言:0更新日期:2021-06-11 23:34
本发明专利技术公开了一种面向流数据的多模数据库评测基准系统及其构建方法,系统包括:基础设施层、消息传输层、工作负载执行器和评测基准系统界面层;自下向上依次排布。方法包括如下步骤:(1)安装配置Apache CloudStack;(2)基础设施虚拟化;(3)在消息传输层,基于Kafka,采用异步消息传递微服务设计模式,实现通过使用Kafka与各种多模数据库进行交互的逻辑;(4)在工作负载执行器,实现不同的请求数据分布方式;(5)在工作负载执行器,实现各个多模数据库针对不同模型数据的负载操作;(6)在评测基准系统界面层,完成评测基准系统界面的设计并实现与后台的连接,用户可以方便地进行多模数据库的选择和相关负载的设定与执行,并为测试结果提供可视区域。

【技术实现步骤摘要】
一种面向流数据的多模数据库评测基准系统及其构建方法
本专利技术涉及软件性能评测与度量分析
,尤其是一种面向流数据的多模数据库评测基准系统及其构建方法。
技术介绍
随着世界变得更加仪器化和互联化,我们正目睹由各种硬件或软件生成的各种结构的数据洪流。这些数据根据结构分类被划分为三种:结构化数据、半结构化数据和非结构化数据。面对大规模多结构的数据,传统的关系数据库存在以下问题:(1)只能提供关系型数据的存储和管理;(2)面对大规模的数据处理效率低下,甚至无法实现;(3)固定的表结构,灵活度稍欠;(4)高并发读写需求,对传统关系型数据库来说,硬盘I/O是一个很大的瓶颈。而数据类型单一化的NoSQL数据库又不能满足同时存储多模型数据的需求。如今,快速发展的多模数据库为这一问题提供了新的解决方案。多模数据库可以理解为在一个管理系统下能够以不同格式(关系、文档、图形、对象等)存储数据的数据库。然而,主流的多模数据库产物的异构性阻碍了对给定应用程序上下文的合理选择。评测基准是系统选择、开发和优化(包括NoSQL数据库)的重要驱动力。但现有的研究表明,缺乏针对多模型数据库评估的大数据基准。这使得这样复杂的数据库产品的性能是未知的。目前,已有许多大数据基准评测平台或工具,如YCSB、YCSB++、BigDataBench。但是,它们都是针对NoSQL数据库或多模数据库所支持的一种数据模型,例如YCSB只能够测试OrientDB涉及文档数据的性能。
技术实现思路
本专利技术所要解决的技术问题在于,提供一种面向流数据的多模数据库评测基准系统及其构建方法,为多模数据库的选择提供可量化比较的方案。为解决上述技术问题,本专利技术提供一种面向流数据的多模数据库评测基准系统,包括:基础设施层、消息传输层、工作负载执行器和评测基准系统界面层;自下向上依次排布。优选的,基础设施层一共涉及4种多模数据库:ArangoDB(键值、文档和图数据)、OrientDB(键值、文档和图数据)、Couchbase(键值和文档数据)和DynamoDB(列族、键值、文档和图数据);其本质是一个计算机集群或云计算环境,为多模型数据库提供硬件基础或虚拟机运行时环境。优选的,消息传输层用来实现消息到多模数据库的传输。为了模拟流数据传输的真实情况,使用消息传输机制Kafka,基于典型的异步消息传递微服务设计模式,提供了丰富的特性来支持流数据的生成、处理、缓存和传输,通过使用Kafka与各种多模数据库进行交互。优选的,工作负载执行器用来实现多模数据库的不同的数据请求分布方式和负载操作,具体地,系统共提供了Zipfian(根据Zipfian分布来选择数据)、Uniform(等概率读取数据)和Latest(最新的数据优先读取)3种分布方式,以满足不同场景的需求;为了尽可能全面地测试各种多模数据库的性能,针对不同数据模型,系统为各个多模数据库提供了添加、查询、删除、更新、最短路径计算和扫描6种工作负载,并获得不同多模数据库的相应负载操作的执行时间。优选的,评测基准系统界面层分为多模数据库初始化区、工作负载选择区和结果显示区。多模数据库初始化区主要供用户查看连接设置、数据导入情况;工作负载选择区使用户能够方便地选择工作负载类型和参数设置;结果显示区用来显示执行时间和工作负载信息供用户参考。相应的,一种面向流数据的多模数据库评测基准系统的构建方法,包括如下步骤:(1)安装配置ApacheCloudStack;CloudStack作为一个开源云计算解决方案,使得用户可以方便地管理虚拟机群;(2)基础设施虚拟化;利用服务器虚拟化技术,扩展出多个配置完全一致的虚拟服务器,在各个虚拟服务器上安装所需要测评的多模数据库,并搭建相应的多模数据库集群;(3)在消息传输层,利用消息传输机制ApacheKafka,采用异步消息传递微服务设计模式,实现与多模数据库的连接和多模数据发送,即通过Kafka,实现向各个多模数据库中插入数据的逻辑;(4)在工作负载执行器,实现不同的请求数据分布方式;为每一类型数据的分布方式创建具体的类,实现记录项的选择;对于Uniform分布,输入主键的最小值和最大值,生成一个两值之间的随机数,即为所需的记录项;对于Latest分布,根据多模数据库需要执行的操作数检索最新插入的记录即可;Zipfian分布的实现最为复杂,假定多模数据库中的数据按受欢迎程度依次排序;(5)在工作负载执行器,针对不同模型数据,实现各个多模数据库的负载操作,具体包括:添加操作、查询操作、删除操作、更新操作、图的最短路径计算和扫描操作,并获得不同多模数据库的相应操作的执行时间;(6)在评测基准系统界面层,完成评测基准系统界面的设计并实现与后台的连接,使用户可以方便地进行选择和操作并为测试结果提供可视区域。优选的,步骤(3)中,在消息传输层,信息利用消息传输机制是ApacheKafka,采用异步消息传递微服务设计模式,实现多模数据库的连接和多模数据发送,即实现向各个多模数据库中插入数据的逻辑,具体步骤为::输入:多模数据库的名称,数据类型,操作数;输出:Kafka流数据;首先,判断数据库名称是否正确并连接数据库;数据库连接成功后,判断数据类型,将多模流数据写入到Kafka中。例如,当数据类型为图数据时,则为结点和边数据创建两个所属的Kafka主题,通过Kafka生产者向对应的主题发送消息;最后,消费者将Kafka中缓存的消息进行消费,即以流的形式用过特定的执行语句将数据写入到相应的多模数据库中。优选的,步骤(4)中,Zipfian分布的实现最为复杂,假定数据库中的数据按受欢迎程度依次排序;算法步骤具体如下:输入:min,max输出:zeta(记录项)min为最热的记录id,max则为流行度最低的记录id;假设数据库中共有n条记录,则min为0,max为n-1;首先预先计算prezeta值为∑in=-101/(Math.pow(i+1,constant)),其中theta为Zipfian分布中的常量,这里设置为0.99;接着使用zeta值和指定的Zipfian常量计算一个介于min和max之间的项。优选的,步骤(6)中,评测基准系统界面一共分为如下3个部分:(a)多模数据库初始化区;该区域分为两部分,第一部分罗列了本系统支持的多模数据库名称,用户选择待测试的多模数据库并点击连接按钮,多模数据库连接成功后按钮会切换为已连接状态,否则报错,该操作以确保后续测试能够正常进行;第二部分罗列了所选多模数据库支持的数据模型,用户通过选择待测试的数据模型,并填入希望测试的数据量后,将系统提供的相应数据集导入到数据库中,以执行后续查询、删除等6种工作负载;(b)工作负载选择区;用户可以在该区域选择需要实现的操作、数据类型和数据请求分布方式,并且需要填写所需执行的操作数;用户完成所有工作负载的参数选择后,点击执行按钮,数据库即开始执行操作;同时,在该区域还提供了本文档来自技高网...

【技术保护点】
1.一种面向流数据的多模数据库评测基准系统,其特征在于,包括:基础设施层、消息传输层、工作负载执行器和评测基准系统界面层;自下向上依次排布。/n

【技术特征摘要】
1.一种面向流数据的多模数据库评测基准系统,其特征在于,包括:基础设施层、消息传输层、工作负载执行器和评测基准系统界面层;自下向上依次排布。


2.如权利要求1所述的面向流数据的多模数据库评测基准系统,其特征在于,基础设施层一共涉及4种典型的多模数据库:ArangoDB、OrientDB、Couchbase和DynamoDB;基础设施层也是一个虚拟计算机集群或云计算环境,可为多模数据库的部署提供运行所需的硬件基础或虚拟机运行时环境。


3.如权利要求1所述的面向流数据的多模数据库评测基准系统,其特征在于,消息传输层用来实现消息到多模数据库的传输,利用消息传输机制ApacheKafka,采用异步消息传递微服务设计模式,实现Kafka与各种多模数据库进行交互的逻辑。


4.如权利要求1所述的面向流数据的多模数据库评测基准系统,其特征在于,工作负载执行器实现了对多模数据库的不同的数据请求分布方式和负载操作,提供了Zipfian、Uniform和Latest3种数据分布方式,针对不同数据模型,评测基准系统为各个多模数据库实现了添加、查询、删除、更新、最短路径计算和扫描6种工作负载。


5.如权利要求1所述的面向流数据的多模数据库评测基准系统,其特征在于,评测基准系统界面层分为多模数据库初始化区、工作负载选择区和结果显示区;多模数据库初始化区主要供用户查看连接设置、数据导入情况;工作负载选择区使用户能够方便地选择工作负载类型和设定相关参数;结果显示区用来显示各个负载的执行时间和工作负载信息供用户参考。


6.一种面向流数据的多模数据库评测基准系统的构建方法,其特征在于,包括如下步骤:
(1)安装配置ApacheCloudStack;ApacheCloudStack作为一个开源云计算解决方案,使得用户可以方便地管理虚拟机群;
(2)基础设施虚拟化;利用服务器虚拟化技术,扩展出多个配置完全一致的虚拟服务器,在各个虚拟服务器上安装所需要测评的多模数据库,并搭建相应的多模数据库集群;
(3)在消息传输层,利用消息传输机制是ApacheKafka,采用异步消息传递微服务设计模式,实现与多模数据库的连接和多模流数据的发送,即通过Kafka,实现向各个多模数据库中交互数据的逻辑;
(4)在工作负载执行器,实现不同的请求数据分布方式;为每一类型的数据分布方式创建具体的类,实现记录项的选择;对于Uniform分布,输入主键的最小值和最大值,生成一个两值之间的随机数,即为所需的记录项;对于Latest分布,根据多模数据库需要执行的操作数检索最新插入的记录即可;Zipfian分布的实现最为复杂,假定多模数据库中的数据按受欢迎程度依次排序;
(5)在工作负载执行器,实现各多模数据库针对不同模型数据的操作...

【专利技术属性】
技术研发人员:叶枫王志坚王皙雯李凌
申请(专利权)人:河海大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1