一种基于超图划分的分布式数据库及其集群分区方法技术

技术编号:14348166 阅读:121 留言:0更新日期:2017-01-04 18:50
本发明专利技术公开了一种基于超图划分的分布式数据库及其集群分区方法,涉及大数据环境下的数据库的数据放置技术,包括:数据统计模块、历史数据分析模块和数据迁移模块,其中事务访问集存储在原始的文本和日志文件数据中,算法模块集存储平台集成算法模块的数学建模和算法求解;数据分析模块由两个过程组成,日志读取解析过程和数据建模与算法求解过程。数据分析模块中的日志读取解析过程用于管理用户日志上传、预处理和格式转换,生成解析后的事务日志;调度模块有序调度建模、算法、数据迁移,并分析计算结果重新分区。本发明专利技术实现了市场需求和日志分析、算法模块的结合,可高效地调整平台的数据放置和分区;提高了数据库的可扩展性、可维护性。

【技术实现步骤摘要】

本专利技术涉及大数据环境下的数据库领域,尤其涉及一种基于超图划分的分布式数据库及其集群分区方法
技术介绍
现代企业的数据中心日渐庞大,分布式数据库被广泛运用于企业应用中,并对企业的业务活动提供有效的管理和支持。此外,在线事务处理是商业环境下对分布式数据库的新的需求。简单的说,在线事务处理(OLTP)是重复性、大批量的业务的自动化处理。随着在线事务处理的应用场景的快速增长,催生了针对联机事务处理而设计的分布式数据库管理系统。通过分析系统历史日志文件,统计事务在系统中访问的分布情况,通过优化分区的方式,提出了一种高吞吐、低延迟的数据库。这种俗称“NewSQL”的系统在继承了关系型数据库的在线事务处理功能,保证的事务ACID的特性,通过将数据非共享的分布在机器集群上,提高并发来提高性能。VoltDB是一个分布式的、基于行存储的、使用主存储器的、运行在一个数据无共享的机器集群上的关系型数据库。VoltDB每个节点是一台物理机器,每个节点包含了一个或多个处理执行引擎,该引擎使用单线程处理来自外部客户端的联机事务处理请求。如图1所示,每个数据库中的关系(Relation),或称为表(Table),在VoltDB中被水平切分(partition)成一个或多个数据快,即将组成该表的全部元组按照主键的值分成一份或者多份,每个数据块会被放置在一个或者多个具体的执行引擎上。如图2所示,数据库中所有的表切分放置后,每个执行引擎所拥有的所有数据组成了一个数据分区,所有表最终切分放置方法组成了分区表。由于数据关联的复杂程度、集群分区的规模巨大,事务在查询和修改具有短、小、重复的特点,根据数据的放置策略,将会有很大一部分事务访问多个物理机上的数据,而多分区事务的网络通信开销是巨大的,这将大大限制了多分区事务网络通信的普及。
技术实现思路
有鉴于现有技术的上述缺陷,本专利技术所要解决的技术问题是旨在根据用户的需求和在线事务处理的特点,并在基于实现环境中,建立原型系统的统计模块、历史数据分析模块和数据迁移模块,以解决现有技术的多分区事务的网络通信开销巨大的问题。为实现上述目的,本专利技术提供了一种基于超图划分的分布式数据库,包括平台基础层和算法建模层,所述平台基础层包括数据统计模块、历史数据分析模块和数据迁移模块,其中:所述数据统计模块被配置为在数据库运行一段时间后,通过网络连接接收数据库集群的日志统计数据,并进行建模、预处理、噪声去除;所述历史数据分析模块被配置为将所述数据统计模块处理过的日志统计数据生成重分区方案和迁移计划;所述数据迁移模块被配置为以历史数据分析模块生成的迁移计划和数据统计模块解析的日志统计数据作为输入,在数据库集群各个机器之间迁移数据;所述算法建模层包括超图最小割模块、复杂网络社团发现模块和日志统计模块,其中:超图最小割模块被配置为对超图进行建模和重分区;复杂网络社团发现模块被配置为通过发现日志统计数据的内在关系的社团属性,并将相同社团属性的日志统计数据放入相应的机器中;日志统计模块被配置为通过对输入日志对象中不同维度的统计,产生日志统计数据。进一步地,所述日志统计模块被配置为将上传到分布式文件系统的日志统计数据读入所述超图最小割模块,所述超图最小割模块对统计过的日志文件建立超图模型。进一步地,所述数据统计模块被配置为估算出服务器的容量,服务器的在联机事务处理系统运行时,使用写日志文件的方式,对一段时间内进行访问样本的采样,并记录系统中每个事务访问的分区,计算出所有同时访问分区的分布式事务的数量和访问频率。进一步地,所述历史数据分析模块被配置为将所述数据统计模块统计的数据建模,形成了一个集群间的超图模型,将分区的问题抽象成一个图,再通过贪心算法分析出重分区方案和迁移计划,其中,所述超图模型的点是分区,边是每一条事务,边的权值是事务访问的频率。进一步地,所述日志统计模块对输入日志对象的不同维度统计的数据包括事务编号、执行时间、事务访问的分区。进一步地,所述日志统计模块产生的日志统计数据包括事务执行频率统计、访问分区和跨分区事务的统计、各节点的容量和节点访问频率统计内容。本专利技术还提供了一种基于超图划分的分布式数据库的集群分区方法,包括以下步骤:提供平台基础层和算法建模层,其中所述平台基础层包括数据统计模块、历史数据分析模块和数据迁移模块,所述算法建模层包括超图最小割模块、复杂网络社团发现模块和日志统计模块;在数据库运行一段时间后,所述数据统计模块通过网络连接接收数据库集群的日志统计数据;所述日志统计模块将日志统计数据读入所述超图最小割模块;所述超图最小割模块对统计过的日志文件建立超图模型;所述数据统计模块估算出服务器的容量,服务器的在联机事务处理系统运行时,使用写日志文件的方式,对一段时间内进行访问样本的采样,并记录系统中每个事务访问的分区,计算出所有同时访问分区的分布式事务的数量和访问频率;所述历史数据分析模块将所述数据统计模块统计的数据建模,形成了一个集群间的超图模型,将分区的问题抽象成一个图,再通过贪心算法分析出重分区方案和迁移计划;所述数据迁移模块以历史数据分析模块生成的迁移计划和数据统计模块解析的日志统计数据作为输入,在数据库集群各个机器之间迁移数据。进一步地,其特征在于,所述超图模型的点是分区,边是每一条事务,边的权值是事务访问的频率。进一步地,所述日志统计模块对输入日志对象的不同维度统计的数据包括事务编号、执行时间、事务访问的分区。进一步地,所述日志统计模块产生的日志统计数据包括事务执行频率统计、访问分区和跨分区事务的统计、各节点的容量和节点访问频率统计内容。本专利技术数据库系统的模型示意图如图3所示,包括数据统计模块,历史数据分析模块以及数据迁移模块;本专利技术的目标是分析用户的历史数据,并对查询的数据在集群中迁移,达到可扩展地动态适应负载。以下对涉及到的各个模块分别进行阐述:数据统计模块:统计模块计估算出服务器的容量。服务器的在联机事务处理系统运行时,使用写日志文件的方式,对一段时间内进行访问样本的采样,即记录系统中每个事务都访问了哪些分区。从采样中我们可以计算出所有同时访问分区的分布式事务的数量和访问频率。历史数据分析模块:统计数据是一个很大的工作量,将这些数据建模,形成了一个集群间超图的模型。其中超图的点是分区,边是每一条事务,边的权值是事务访问的频率。这样能够将分区的问题抽象成一个图。而通过分析这个超图,通过贪心算法分析出一种更优的分区方案,该方案是根据数据的分析动态生成的。数据迁移模块:数据根据分区的方案,在每一个分区上生成一个迁移计划,数据会在迁移计划下进行数据迁移。系统的主要过程如下:我们在拥有分区方法的基础上,统计集群各机器的日志文件,将机器间的网络通信延时对分布式数据库系统的影响进行了建模量化,并提出了使用超图模型进行分区的分组、贪心算法进行分组的放置。本专利技术提出了一种结合无共享架构、事务的特性和数据库分区技术来生成重分区策略的新方法。该方法在历史处理日志文件分析的基础上,对用户需求进行理解、设计了一种基于超图的重分区算法,通过无共享架构的NewSQL平台构建基础层、日志文件统计层、超图模型层、重新部署层。实现对统计数据的建模和分析,完成对输入日志的流程挖掘分析。整个平台建立在无共享架构上本文档来自技高网
...
一种基于超图划分的分布式数据库及其集群分区方法

【技术保护点】
一种基于超图划分的分布式数据库,其特征在于,包括平台基础层和算法建模层,所述平台基础层包括数据统计模块、历史数据分析模块和数据迁移模块,其中:所述数据统计模块被配置为在数据库运行一段时间后,通过网络连接接收数据库集群的日志统计数据,并进行建模、预处理、噪声去除;所述历史数据分析模块被配置为将所述数据统计模块处理过的日志统计数据生成重分区方案和迁移计划;所述数据迁移模块被配置为以历史数据分析模块生成的迁移计划和数据统计模块解析的日志统计数据作为输入,在数据库集群各个机器之间迁移数据;所述算法建模层包括超图最小割模块、复杂网络社团发现模块和日志统计模块,其中:超图最小割模块被配置为对超图进行建模和重分区;复杂网络社团发现模块被配置为通过发现日志统计数据的内在关系的社团属性,并将相同社团属性的日志统计数据放入相应的机器中;日志统计模块被配置为通过对输入日志对象中不同维度的统计,产生日志统计数据。

【技术特征摘要】
1.一种基于超图划分的分布式数据库,其特征在于,包括平台基础层和算法建模层,所述平台基础层包括数据统计模块、历史数据分析模块和数据迁移模块,其中:所述数据统计模块被配置为在数据库运行一段时间后,通过网络连接接收数据库集群的日志统计数据,并进行建模、预处理、噪声去除;所述历史数据分析模块被配置为将所述数据统计模块处理过的日志统计数据生成重分区方案和迁移计划;所述数据迁移模块被配置为以历史数据分析模块生成的迁移计划和数据统计模块解析的日志统计数据作为输入,在数据库集群各个机器之间迁移数据;所述算法建模层包括超图最小割模块、复杂网络社团发现模块和日志统计模块,其中:超图最小割模块被配置为对超图进行建模和重分区;复杂网络社团发现模块被配置为通过发现日志统计数据的内在关系的社团属性,并将相同社团属性的日志统计数据放入相应的机器中;日志统计模块被配置为通过对输入日志对象中不同维度的统计,产生日志统计数据。2.根据权利要求1所述的基于超图划分的分布式数据库,其特征在于,所述日志统计模块被配置为将上传到分布式文件系统的日志统计数据读入所述超图最小割模块,所述超图最小割模块对统计过的日志文件建立超图模型。3.根据权利要求1所述的基于超图划分的分布式数据库,其特征在于,所述数据统计模块被配置为估算出服务器的容量,服务器的在联机事务处理系统运行时,使用写日志文件的方式,对一段时间内进行访问样本的采样,并记录系统中每个事务访问的分区,计算出所有同时访问分区的分布式事务的数量和访问频率。4.根据权利要求1所述的基于超图划分的分布式数据库,其特征在于,所述历史数据分析模块被配置为将所述数据统计模块统计的数据建模,形成了一个集群间的超图模型,将分区的问题抽象成一个图,再通过贪心算法分析出重分区方案和迁移计划,其中,所述超图模型的点是分区,边是每一条事务,边的权值是事务访问的频率。5.根据权利要求1所述的基于超图划分的分布式数据库,其特征在于,所述日志统计模块对输入日志对象的不同维度...

【专利技术属性】
技术研发人员:管海兵陈文康马汝辉李健
申请(专利权)人:上海交通大学
类型:发明
国别省市:上海;31

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

1