CN112948228A - 一种面向流数据的多模数据库评测基准系统及其构建方法 - Google Patents

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

Info

Publication number
CN112948228A
CN112948228A CN202110275224.3A CN202110275224A CN112948228A CN 112948228 A CN112948228 A CN 112948228A CN 202110275224 A CN202110275224 A CN 202110275224A CN 112948228 A CN112948228 A CN 112948228A
Authority
CN
China
Prior art keywords
database
data
multimode
evaluation benchmark
multimodal
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.)
Granted
Application number
CN202110275224.3A
Other languages
English (en)
Other versions
CN112948228B (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.)
Hohai University HHU
Original Assignee
Hohai University HHU
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 Hohai University HHU filed Critical Hohai University HHU
Priority to CN202110275224.3A priority Critical patent/CN112948228B/zh
Publication of CN112948228A publication Critical patent/CN112948228A/zh
Application granted granted Critical
Publication of CN112948228B publication Critical patent/CN112948228B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3433Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24568Data stream processing; Continuous queries
    • 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/25Integrating or interfacing systems involving database management systems
    • 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)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

一种面向流数据的多模数据库评测基准系统及其构建方法
技术领域
本发明涉及软件性能评测与度量分析技术领域,尤其是一种面向流数据的多模数据库评测基准系统及其构建方法。
背景技术
随着世界变得更加仪器化和互联化,我们正目睹由各种硬件或软件生成的各种结构的数据洪流。这些数据根据结构分类被划分为三种:结构化数据、半结构化数据和非结构化数据。面对大规模多结构的数据,传统的关系数据库存在以下问题:(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)安装配置Apache CloudStack;CloudStack作为一个开源云计算解决方案,使得用户可以方便地管理虚拟机群;
(2)基础设施虚拟化;利用服务器虚拟化技术,扩展出多个配置完全一致的虚拟服务器,在各个虚拟服务器上安装所需要测评的多模数据库,并搭建相应的多模数据库集群;
(3)在消息传输层,利用消息传输机制Apache Kafka,采用异步消息传递微服务设计模式,实现与多模数据库的连接和多模数据发送,即通过Kafka,实现向各个多模数据库中插入数据的逻辑;
(4)在工作负载执行器,实现不同的请求数据分布方式;为每一类型数据的分布方式创建具体的类,实现记录项的选择;对于Uniform分布,输入主键的最小值和最大值,生成一个两值之间的随机数,即为所需的记录项;对于Latest分布,根据多模数据库需要执行的操作数检索最新插入的记录即可;Zipfian分布的实现最为复杂,假定多模数据库中的数据按受欢迎程度依次排序;
(5)在工作负载执行器,针对不同模型数据,实现各个多模数据库的负载操作,具体包括:添加操作、查询操作、删除操作、更新操作、图的最短路径计算和扫描操作,并获得不同多模数据库的相应操作的执行时间;
(6)在评测基准系统界面层,完成评测基准系统界面的设计并实现与后台的连接,使用户可以方便地进行选择和操作并为测试结果提供可视区域。
优选的,步骤(3)中,在消息传输层,信息利用消息传输机制是Apache Kafka,采用异步消息传递微服务设计模式,实现多模数据库的连接和多模数据发送,即实现向各个多模数据库中插入数据的逻辑,具体步骤为::
输入:多模数据库的名称,数据类型,操作数;
输出:Kafka流数据;
首先,判断数据库名称是否正确并连接数据库;数据库连接成功后,判断数据类型,将多模流数据写入到Kafka中。例如,当数据类型为图数据时,则为结点和边数据创建两个所属的Kafka主题,通过Kafka生产者向对应的主题发送消息;最后,消费者将 Kafka中缓存的消息进行消费,即以流的形式用过特定的执行语句将数据写入到相应的多模数据库中。
优选的,步骤(4)中,Zipfian分布的实现最为复杂,假定数据库中的数据按受欢迎程度依次排序;算法步骤具体如下:
输入:min,max
输出:zeta(记录项)
min为最热的记录id,max则为流行度最低的记录id;假设数据库中共有n条记录,则min为0,max为n-1;首先预先计算prezeta值为∑i n -101/(Math.pow(i+1,constant)),其中theta为Zipfian分布中的常量,这里设置为0.99;接着使用zeta值和指定的Zipfian 常量计算一个介于min和max之间的项。
优选的,步骤(6)中,评测基准系统界面一共分为如下3个部分:
(a)多模数据库初始化区;该区域分为两部分,第一部分罗列了本系统支持的多模数据库名称,用户选择待测试的多模数据库并点击连接按钮,多模数据库连接成功后按钮会切换为已连接状态,否则报错,该操作以确保后续测试能够正常进行;第二部分罗列了所选多模数据库支持的数据模型,用户通过选择待测试的数据模型,并填入希望测试的数据量后,将系统提供的相应数据集导入到数据库中,以执行后续查询、删除等 6种工作负载;
(b)工作负载选择区;用户可以在该区域选择需要实现的操作、数据类型和数据请求分布方式,并且需要填写所需执行的操作数;用户完成所有工作负载的参数选择后,点击执行按钮,数据库即开始执行操作;同时,在该区域还提供了清空数据库这一选项,当完成一个多模数据库的测试后,用户可以点击该按钮,将多模数据库中现有的数据删除,或为确保每一多模数据库不存在多余数据,在测试前可以点击该按钮;
(c)结果展示区;当数据库完成相应的操作后,系统会在该区域将结果显示出来,包括执行时间,工作负载的相关信息。
优选的,获得各种多模型数据在不同负载执行时的性能,具体步骤为:多模数据库最显著的特征是能够同时管理和存储结构化数据、半结构化数据和非结构化数据;为了能够全面地对多模数据库进行评测,系统为每种数据操作提供了不同数据类型的解决方案;包括添加、查询、删除、更新、最短路径计算和扫描6种操作,以及键值、列族、文档和图四种数据类型;
添加操作:根据用户提供的数据类型和操作数,实现步骤3的操作,返回执行时间并展示到评测基准系统界面上;
查询操作:首先,用户输入操作数,并选择待测试的数据类型和请求分布方式;对应的分布类则会产生一个数据库集合中存在的主键供多模数据库执行查询操作;对于图数据,根据顶点或边的主键值进行检索;最终,返回所需的执行时间并显示在评测基准系统界面;
删除操作:根据用户选择的分布方式删除符合条件的数据,由多模数据库对指定模型的数据执行删除操作;当选择的数据模型为图数据时,如果删除的是一个顶点,还需将与其关联的边删除;将获得执行时间显示在评测基准系统界面中供用户比较;
更新操作:根据指定的分布方式获取主键,多模数据库查找到对应数据并通过覆盖原数据来实现更新;待多模数据库执行完毕后将结果返回在评测基准系统界面;
计算最短路径:根据请求分布方式计算多模数据库中图的两个特定顶点的最短路径,返回多模数据库执行操作的时间显示在评测基准系统界面上;
扫描操作:根据指定的数据模型,扫描相应多模数据库集合中的数据,并返回执行时间评测基准系统。
本发明的有益效果为:根据多模数据的特性,提出了一种面向流数据的多模数据库评测系统及其构建方法,针对各多模数据库支持的数据类型,实现了不同的数据请求分布方式,如Zipfian、Uniform和Latest,以满足不同场景的需求;在工作负载执行器中,实现了各多模数据库针对不同模型的工作负载(添加、查询、删除、更新、扫描和最短路径计算操作);同时,用户可以通过执行不同的负载任务,获得各种多模型数据在不同负载执行时的性能,从而能公平、快速地比较出不同多模数据库的性能差异,从而为多模数据库的选择提供可量化比较的方案。
附图说明
图1为本发明的体系结构示意图。
图2为本发明的评测基准系统界面示意图。
具体实施方式
如图1所示,一种面向流数据的多模数据库评测基准系统,包括:自底向上分别是:基础设施层、消息传输层、工作负载执行器和评测基准系统界面层。
基础设施层,该层一共涉及4种多模数据库:ArangoDB(键值、文档和图数据)、OrientDB(键值、文档和图数据)、Couchbase(键值和文档)和DynamoDB(列族、键值、文档和图数据)。其本质是一个计算机集群或云计算环境,为多模型数据库提供硬件基础或虚拟机运行时环境。各种多模型数据库安装和部署在虚拟机集群上,且这些虚拟机的配置完全一致。
为了公平地对不同的多模数据库进行基准评测,其核心之一是消息传输层。为了模拟流数据传输的真实情况,利用消息传输机制Kafka。采用异步消息传递微服务设计模式,实现多模数据库的连接和多模数据发送,即实现向各个多模数据库中插入数据的逻辑。当需要在系统中扩展新的多模型数据库时,方法是根据标准接口方法实现相应的服务。
工作负载执行器用来实现多模数据库的不同的数据请求分布方式和负载操作。系统共提供了Zipfian(根据Zipfian分布来选择数据)、Uniform(等概率读取数据)和Latest(最新的数据优先读取)3种分布方式,以满足不同的场景需求。例如Latest分布适用于热点新闻,最新的热门新闻经常被搜索和访问。本系统提供了添加、查询、删除、更新、最短路径计算和扫描6种工作负载。为了尽可能全面地评测多模数据库的性能,系统为各多模数据库针对不同的模型提供了不同的操作。例如:OrientDB能够支持键值、文档和图数据3种数据模型,即在该层分别实现了其涉及这3种模型的查询、删除、修改等操作。每个数据库都有自己的类,通过调用数据库的API实现初始化操作和其需要完成的工作负载。
评测基准系统界面层分为操作设置区和结果显示区两个部分。在操作设置区,用户可以选择待测试的数据模型、负载类型、操作数和请求分布方式。数据库执行完成后,会将数据库所需的执行时间和工作负载的详细参数记录在结果显示区。
在测试开始之前,通过对多模数据库进行连接测试来保证数据库的可用。同时为了保证公平性,在测试前需要清空数据库以防其中存在数据影响测试结果。另外,在测试结束后,为了每次测试时保证机器上只有一个数据库在运行,需要断开数据库连接以开始下一次测试。
为了确保每条记录都有唯一的主键进行检索操作,用于负载执行时使用的多模数据是由系统提供的。在多模数据加载阶段,用户只需选择多模数据库名称和数据类型,系统就会将对应数量的数据集写进指定的多模数据库中。
本发明还公开了一种面向流数据的多模数据库评测系统的构建方法,包括如下步骤:
步骤1:基础设施虚拟化。为了管理虚拟机集群,利用虚拟化技术能实现主机和存储资源的一体化整合和共享利用,即是让CPU、内存、磁盘、I/O等硬件资源变成可以动态管理的“资源池”,安装开源云计算解决方案Apache CloudStack。将CloudStack作为管理虚拟机群的软件,使用户能够快速方便地在现有的基础架构上创建私有的云计算平台,其安装过程主要包含以下几个步骤:
(1)配置安装源(需要配置CloudStack官方源和CloudStack官方源证书);
(2)安装Management Server;
(3)安装配置NFS共享和kvm模板;
(3)安装配置KVM虚拟化HOST主机;
(4)配置安全策略和防火墙。
步骤2:在每台虚拟服务器上安装操作系统,规划网络节点和端口,并下载安装待测评的多模数据库。接下来可以为各服务器上的多模数据库搭建集群。由于不同的多模数据库安装部署和集群搭建的方式不同,以ArangoDB为例,说明多模数据库集群搭建过程如下:根据ArangoDB官网提示,安装对应版本的ArangoDB。
(1)添加存储库密钥;
(2)使用apt-get命令安装ArangoDB。
(3)搭建多模数据库集群:
首先在作为主节点的服务器上启动ArangoDB。默认情况下,ArangoDB以集群cluster方式启动。
接着启动剩下的两个从节点,三台虚拟机上的ArangoDB实例全部启动后,会在终端提示可以通过浏览器访问该多模数据库,则ArangoDB的集群搭建成功。
步骤3:在消息传输层,利用消息传输机制Apache Kafka,采用异步消息传递微服务设计模式,实现多模数据库的连接和多模数据发送,即实现向各个多模数据库中插入数据的逻辑。算法如下:
输入:多模数据库的名称,数据类型,操作数
输出:Kafka流数据
步骤一:判断多模数据库名称是否正确并连接多模数据库;
步骤二:多模数据库连接成功后,判断数据类型,通过消费者的send方法将系统提供的指定数据集写入到Kafka中。例如,当数据类型为图数据时,则为结点和边数据创建两个所属的Kafka主题,通过Kafka生产者向对应的主题发送消息;
步骤三:消费者将Kafka中缓存的消息进行消费,并通过消费端逻辑将各模型数据拆分,以流的形式输出。即以流的形式用过特定的查询语句将数据写入到相应的数据库中;
Figure BDA0002976353290000071
Figure BDA0002976353290000081
步骤4:实现不同的请求分布方式。为每一类型的分布方式创建具体的类,实现记录的选择。
(1)Uniform分布(数据被读取的概率相同)
输入min和max,分别代表数据主键的最小值和最大值。生成一个介于两值之间的随机数以确保数据库能够成功检索到记录。
(2)Latest分布(优先读取最新插入的数据)
根据输入的操作数,依次检索最新插入的记录即可。
(3)Zipfian分布(根据Zipfian分布读取数据),假定数据库中的数据按受欢迎程度依次排序。算法如下:
输入:min,max
输出:zeta(记录项)
min为最热的记录id,max则为流行度最低的记录id。假设数据库中共有n条记录,则min为0,max为n-1。首先预先计算prezeta值为
Figure BDA0002976353290000082
其中constant为Zipfian分布中的常量,这里设置为0.99。接着使用prezeta值和指定的Zipfian常量计算一个介于min和max之间的项,具体方法如下:
apa=1.0/(1.0-constant);
Figure BDA0002976353290000083
eta=(1-Math.pow(2.0/items,1-constant))/(1-zeta_2/prezeta);
random=ThreadLocalRandom.current().nextDouble();
double rz=random*prezeta;
if(rz<1.0){return min;}
if(rz<1.0+Math.pow(0.5,constant)){return min+1;}
long ret=base+(long)((n)*Math.pow(eta*u-eta+1,apa));
return ret;
步骤5:利用Java编程和数据库API,实现各多模数据库针对不同模型数据的操作,包括:添加操作、查询操作、删除操作、更新操作、图的最短路径计算和扫描操作,并获得多模数据库的不同负载操作的执行时间。
(1)添加操作
输入:数据模型、请求分布方式、操作数
输出:执行时间
首先,判断数据类型,系统选择数据集中满足分布方式的数据,执行对应的查询语言,实现步骤3的操作。根据操作数,循环执行上述操作,最后返回执行时间供用户与其他多模数据库进行对比。
(2)查询操作
输入:数据模型、请求分布方式、操作数
输出:执行时间
判断数据模型,根据数据请求分布方式创建对应的分布类对象,则会产生一个数据库集合中存在的主键值。再调用多模数据库的查询方法检索数据。对于图数据,可以根据顶点或边的主键值进行检索。根据输入的操作数,循环执行上述步骤。最终,返回所需的执行时间。
(3)删除操作
输入:数据模型、请求分布方式、操作数
输出:执行时间
判断数据模型,根据数据请求分布方式产生一个主键值。通过相应的数据库接口执行对应的删除语句。当选择的数据模型为图时,如果删除的是一个顶点,还需将与其关联的边删除。最后返回执行时间。
(4)更新操作
输入:数据模型、请求分布方式、操作数
输出:执行时间
首先,判断数据模型,跳转到对应的方法。根据输入的分布方式获取主键值,多模数据库查找到对应数据进行修改。接着执行数据库更新语句。根据输入的操作数循环执行以上操作。待数据库全部执行完毕后返回时间。
(5)计算最短路径:
输入:请求分布方式、操作数
输出:执行时间、3条路径
获取请求分布方式,调用相应的分布类获取顶点主键值。由于数据库都提供了最短路径的查询语言,因此直接执行该语言即可得出两顶点之间的最短路径。根据输入的操作数循环执行以上操作。最后返回执行时间和其中的3条路径。
(6)扫描操作:
输入:数据模型
输出:执行时间
根据输入的数据模型,调用数据库方法和查询语句,扫描相应数据库集合中的数据,并返回执行时间。
步骤6:完成评测系统界面的设计并实现与后台的连接,使用户可以方便地进行选择和操作并为测试结果提供可视区域。如图2所示,用户界面一共分为如下3个部分:
(1)数据库初始化区。该区域分为两部分,第一部分罗列了本系统支持的多模数据库名称,用户选择待测试的多模数据库并点击连接按钮。多模数据库连接成功后按钮会切换为已连接状态,否则报错。该操作以确保后续测试能够正常进行。第二部分罗列了所选数据库支持的数据模型,用户通过选择待测试的数据模型,将系统提供的相应数据集导入到多模数据库中,以执行后续查询、删除等工作负载。
(2)工作负载选择区。用户可以在该区域选择需要实现的操作、数据类型和数据请求分布方式,并且需要填写所需执行的操作数。用户完成所有工作负载的参数选择后,点击执行按钮,数据库即开始执行操作。同时,在该区域还提供了清空数据库这一选项。当完成一个多模数据库的测试后,用户可以点击该按钮,将数据库中现有的数据删除。或为确保每一多模数据库不存在多余数据,在测试前可以点击该按钮。
(3)结果展示区。当多模数据库完成相应的操作后,系统会在该区域将结果显示出来,包括执行时间、工作负载的相关信息。具体的用户操作如下:
添加操作:用户在评测基准系统界面选择待测试的数据模型(文档、键值、图或列族)和请求分布,并在文本框填写操作数,点击“执行”按钮。负载执行完成后,在评测基准系统界面记录负载的参数和多模数据库相应负载操作的执行时间。
查询操作:用户选择数据模型和请求分布方式,并填写操作数,点击“执行”按钮。多模数据库执行结束后,评测基准系统界面会显示具体和执行时间。
删除操作:用户选择数据模型和请求分布方式,并填写操作数,点击“执行”按钮。数据库完成相应次数的删除操作后。评测基准系统界面会记录本次操作的详细信息和执行时间。
更新操作:用户选择数据模型和请求分布方式,并填写操作数,点击“执行”按钮。多模数据库完成相应次数的更新操作后。评测基准系统界面会记录本次操作的详细信息和执行时间。
计算最短路径:用户在对应的多模数据库名称后进行工作负载的设置。选择数据请求分布方式和操作数,点击在评测系统界面的“执行”按钮。多模数据库执行完成后,将返回的执行时间和3条路径显示在评测基准系统界面,并记录负载的具体内容供用户参考。
扫描操作:用户选择数据模型,点击执行按钮。多模数据库执行完选定的操作后,在评测系统界面会呈现对应的执行时间。

Claims (9)

1.一种面向流数据的多模数据库评测基准系统,其特征在于,包括:基础设施层、消息传输层、工作负载执行器和评测基准系统界面层;自下向上依次排布。
2.如权利要求1所述的面向流数据的多模数据库评测基准系统,其特征在于,基础设施层一共涉及4种典型的多模数据库:ArangoDB、OrientDB、Couchbase和DynamoDB;基础设施层也是一个虚拟计算机集群或云计算环境,可为多模数据库的部署提供运行所需的硬件基础或虚拟机运行时环境。
3.如权利要求1所述的面向流数据的多模数据库评测基准系统,其特征在于,消息传输层用来实现消息到多模数据库的传输,利用消息传输机制Apache Kafka,采用异步消息传递微服务设计模式,实现Kafka与各种多模数据库进行交互的逻辑。
4.如权利要求1所述的面向流数据的多模数据库评测基准系统,其特征在于,工作负载执行器实现了对多模数据库的不同的数据请求分布方式和负载操作,提供了Zipfian、Uniform和Latest 3种数据分布方式,针对不同数据模型,评测基准系统为各个多模数据库实现了添加、查询、删除、更新、最短路径计算和扫描6种工作负载。
5.如权利要求1所述的面向流数据的多模数据库评测基准系统,其特征在于,评测基准系统界面层分为多模数据库初始化区、工作负载选择区和结果显示区;多模数据库初始化区主要供用户查看连接设置、数据导入情况;工作负载选择区使用户能够方便地选择工作负载类型和设定相关参数;结果显示区用来显示各个负载的执行时间和工作负载信息供用户参考。
6.一种面向流数据的多模数据库评测基准系统的构建方法,其特征在于,包括如下步骤:
(1)安装配置Apache CloudStack;Apache CloudStack作为一个开源云计算解决方案,使得用户可以方便地管理虚拟机群;
(2)基础设施虚拟化;利用服务器虚拟化技术,扩展出多个配置完全一致的虚拟服务器,在各个虚拟服务器上安装所需要测评的多模数据库,并搭建相应的多模数据库集群;
(3)在消息传输层,利用消息传输机制是Apache Kafka,采用异步消息传递微服务设计模式,实现与多模数据库的连接和多模流数据的发送,即通过Kafka,实现向各个多模数据库中交互数据的逻辑;
(4)在工作负载执行器,实现不同的请求数据分布方式;为每一类型的数据分布方式创建具体的类,实现记录项的选择;对于Uniform分布,输入主键的最小值和最大值,生成一个两值之间的随机数,即为所需的记录项;对于Latest分布,根据多模数据库需要执行的操作数检索最新插入的记录即可;Zipfian分布的实现最为复杂,假定多模数据库中的数据按受欢迎程度依次排序;
(5)在工作负载执行器,实现各多模数据库针对不同模型数据的操作,包括:添加操作、查询操作、删除操作、更新操作、图的最短路径计算和扫描操作,并获得不同多模数据库的相应负载操作的执行时间;
(6)完成评测基准系统界面的设计并实现与后台的连接,使用户可以方便地进行选择和操作并为测试结果提供可视区域。
7.如权利要求6所述的面向流数据的多模数据库评测基准系统的构建方法,其特征在于,步骤(3)中,在消息传输层,利用消息传输机制是Apache Kafka,采用异步消息传递微服务设计模式,实现多模数据库的连接和多模流数据的发送,即实现向各个多模数据库中插入数据的逻辑,具体步骤为:
输入:多模数据库的名称,对应的数据类型,操作数;
输出:Kafka流数据;
首先,判断多模数据库名称是否正确并连接该多模数据库;连接成功后,判断对应的数据类型,将多模流数据写入到Kafka中;最后,消费者将Kafka中缓存的消息进行消费,即以数据流的形式用过特定的执行语句将数据写入到相应的多模数据库中。
8.如权利要求6所述的面向流数据的多模数据库评测基准系统的构建方法,其特征在于,步骤(4)中,首先假定多模数据库中的数据按受欢迎程度依次排序,具体算法步骤如下:
输入:min,max
输出:zeta(记录项)
min为最热的记录id,max则为流行度最低的记录id;假设数据库中共有n条记录,则min为0,max为n-1;首先预先计算prezeta值为
Figure FDA0002976353280000021
其中theta为Zipfian分布中的常量,设置为0.99;接着使用zeta值和指定的Zipfian常量计算一个介于min和max之间的项。
9.如权利要求6所述的面向流数据的多模数据库评测基准系统的构建方法,其特征在于,步骤(6)中,评测基准系统界面一共分为如下3个部分:
(a)多模数据库初始化区;该区域分为两部分,第一部分罗列了本系统支持的多模数据库名称,用户选择待测试的多模数据库并点击连接按钮,多模数据库连接成功后按钮会切换为已连接状态,否则报错,该操作以确保后续测试能够正常进行;第二部分罗列了所选多模数据库支持的数据模型,用户通过选择待测试的数据模型,并填入希望测试的数据量后,将系统提供的相应数据集导入到数据库中,以执行后续查询、删除等6种工作负载;
(b)工作负载选择区;用户可以在该区域选择需要实现的操作、数据类型和数据请求分布方式,并且需要填写所需执行的操作数;用户完成所有工作负载的参数选择后,点击执行按钮,数据库即开始执行操作;同时,在该区域还提供了清空数据库这一选项,当完成一个多模数据库的测试后,用户可以点击该按钮,将多模数据库中现有的数据删除,或为确保每一多模数据库不存在多余数据,在测试前可以点击该按钮;
(c)结果展示区;当数据库完成相应的操作后,系统会在该区域将结果显示出来,包括执行时间,工作负载的相关信息。
CN202110275224.3A 2021-03-15 2021-03-15 一种面向流数据的多模数据库评测基准系统及其构建方法 Active CN112948228B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110275224.3A CN112948228B (zh) 2021-03-15 2021-03-15 一种面向流数据的多模数据库评测基准系统及其构建方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110275224.3A CN112948228B (zh) 2021-03-15 2021-03-15 一种面向流数据的多模数据库评测基准系统及其构建方法

Publications (2)

Publication Number Publication Date
CN112948228A true CN112948228A (zh) 2021-06-11
CN112948228B CN112948228B (zh) 2023-07-21

Family

ID=76229837

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110275224.3A Active CN112948228B (zh) 2021-03-15 2021-03-15 一种面向流数据的多模数据库评测基准系统及其构建方法

Country Status (1)

Country Link
CN (1) CN112948228B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107423809A (zh) * 2017-07-07 2017-12-01 北京光年无限科技有限公司 应用于视频直播平台的虚拟机器人多模态交互方法和系统
CN110008272A (zh) * 2019-04-10 2019-07-12 张绿儿 面向传感器数据的NoSQL数据库评测系统及其构建方法
US20190294519A1 (en) * 2018-03-26 2019-09-26 Oracle International Corporation System and method for database replication benchmark testing using a pipeline-based microservices model

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107423809A (zh) * 2017-07-07 2017-12-01 北京光年无限科技有限公司 应用于视频直播平台的虚拟机器人多模态交互方法和系统
US20190294519A1 (en) * 2018-03-26 2019-09-26 Oracle International Corporation System and method for database replication benchmark testing using a pipeline-based microservices model
CN110008272A (zh) * 2019-04-10 2019-07-12 张绿儿 面向传感器数据的NoSQL数据库评测系统及其构建方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
马国鑫: "时间序列流数据的建模预测和异常检测方法研究", 《中国优秀博硕士学位论文全文数据库(硕士)工程科技Ⅱ辑》 *

Also Published As

Publication number Publication date
CN112948228B (zh) 2023-07-21

Similar Documents

Publication Publication Date Title
US10565095B2 (en) Hybrid testing automation engine
KR101255361B1 (ko) 트리의 노드에 관한 정보를 관리하기 위한 방법, 컴퓨터판독가능 매체 및 변조된 데이터 신호
JP4812337B2 (ja) フォームタイプを使用してフォームを生成する方法および装置
KR20130086138A (ko) 크로스―플랫폼 어플리케이션 프레임워크
US20060259386A1 (en) Building digital assets for use with software applications
US8881127B2 (en) Systems and methods to automatically generate classes from API source code
JP2014194814A (ja) ワークフロー生成、配置、及び/又は実行のためのシステム、方法、及びグラフィカルユーザインターフェイス
US11327905B2 (en) Intents and locks with intent
US20060173894A1 (en) System and methods for capturing structure of data models using entity patterns
EP2674859A2 (en) Computing system, method for controlling thereof, and computer-readable recording medium having computer program for controlling thereof
US20070043693A1 (en) Systems and methods for storing a dataset having a hierarchical data structure in a database
US20130238605A1 (en) System, method and computer program product for creating a visual component for tenants of an on-demand database service
CN113971037A (zh) 应用处理方法、装置、电子设备及存储介质
Krosing et al. PostgreSQL server programming
CN116820535A (zh) 任务处理方法、装置、计算机可读存储介质和电子装置
CN112970011A (zh) 记录查询优化中的谱系
CN113377497A (zh) 一种基于服务虚拟化的服务开发系统
CN111026776B (zh) 关系型数据库中的查询方法及装置
Chaganti et al. Amazon SimpleDB developer guide
CN117453980A (zh) 元数据管理、配置页面生成方法、服务器及存储介质
US20230097765A1 (en) Pseudorandom Thread Generation
US8407663B2 (en) Upgrading simple applications to full scale solutions
US20160371169A1 (en) Use case fingerprinting and capture store
CN112948228B (zh) 一种面向流数据的多模数据库评测基准系统及其构建方法
CN112948357B (zh) 一种面向多模数据库OrientDB的调优系统及其构建方法

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