首页 / 专利库 / 计算机网络 / 大规模并行处理 / 一种面向大数据的关系型数据库混合异构查询模型与方法

一种面向大数据的关系型数据库混合异构查询模型与方法

阅读:241发布:2020-05-13

专利汇可以提供一种面向大数据的关系型数据库混合异构查询模型与方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种面向 大数据 的关系型 数据库 混合异构查询模型,其结构如下:最底层为中心数据库,用来存放要查询的数据; 中间层 为Hadoop分布式文件系统HDFS,存放元数据和中间结果,同时,添加数据缓存层和全局索引层用来存放所有的数据字典表及其结果缓冲和所有数据表的全局索引信息、索引目录和索引缓存;顶层采用MapReduce编程模型,提供对HDFS中数据并行处理和保证容错性; 中间件 设计数据库连接器、数据加载器、索引生成器和查询引擎四个功能模 块 。该模型支持原数据动态划分,提高预处理效率,在保持原数据完整的 基础 上,提高大规模用户下查询 请求 的响应时间。,下面是一种面向大数据的关系型数据库混合异构查询模型与方法专利的具体信息内容。

1.一种面向大数据的关系型数据库混合异构查询模型,其特征在于,包括最底层的中心数据库的数据层、Hadoop分布式文件系统HDFS、MapReduce编程模型和中间件,最底层的中心数据库的数据层,用来存放要查询的数据,通过建立全局索引机制和分类查询机制提高数据表查询效率;数据层包括多个数据库节点中间层为Hadoop分布式文件系统HDFS,存放元数据和中间结果,同时,添加数据缓存层和全局索引层用来存放所有的数据字典表、结果缓冲以及所有数据表的全局索引信息、索引目录和索引缓存;顶层采用MapReduce编程模型,提供对HDFS中数据并行处理和确保容错性;中间件包括数据库连接器、数据加载器、中间件的索引生成器和查询引擎四个功能模,全局索引层包括索引生成器、LRU算法、索引生成缓存、索引目录。
2.如权利要求1所述的一种面向大数据的关系型数据库混合异构查询模型,其特征在于:中间件设计数据库连接器,将Hadoop文件系统与数据库连接起来,使MapReduce直接访问Oracle数据库,利用Hadoop提供的DBInptuFormat类访问数据库,把数据库表数据读入到HDFS;再利用TextOutpuFormat类将得到的结果写入数据库表中。
3.如权利要求1所述的一种面向大数据的关系型数据库混合异构查询模型,其特征在于:中间件设计数据加载器,将数据字典表和数据表的本地索引从数据库中加载进HDFS的数据节点,对数据字典表,将所有的数据字典表都加载进HDFS的数据缓存层;对数据表,只将其本地索引加载进的全局索引层。
4.如权利要求1所述的一种面向大数据的关系型数据库混合异构查询模型,其特征在于:中间件索引生成器,利用MapReduce编程模型,将加载进的本地索引合并为全局索引,存放在HDFS的数据节点,当全局索引生成后,将释放HDFS中的本地索引以减少空间,如果全局索引过大,将被自动划分成合适的大小,并用索引目录来记录每块的位置,索引目录采用格式,存放在HDFS的名字节点中,索引缓冲采用LRU算法,将最常使用的全局索引块从HDFS的数据节点移至名字节点中。
5.如权利要求1所述的一种面向大数据的关系型数据库混合异构查询模型,其特征在于:中间件设计查询引擎,对不同的查询请求提供不同的执行策略,对数据字典表查询时,将直接访问HDFS,对数据表中没有建立索引的字段查询时,将直接访问底层的数据库;对数据表中已经建立索引的字段查询时,将先访问中的全局索引层获得哪些数据库应该被访问,再并行访问这些数据库,每个数据库完成部分查询,最后将得到的结果合并返回。
6.如权利要求1所述的一种面向大数据的关系型数据库混合异构查询模型,其特征在于:数据层建立本地索引和全局索引,对数据库表中物理位置字段建立的目录;对每一个数据库节点,数据库连接器用于连接Hadoop和数据库,使MapReduce可以直接访问数据库,数据加载器通过数据库连接器,用MapReduce将数据表的本地索引加载进HDFS文件系统中的数据节点;索引生成器根据索引字段,利用MapReduce将加载进HDFS的本地索引合并为全局索引,存放在HDFS的数据节点;如果全局索引过大,索引生成器将根据HDFS文件格式要求将其划分成合适的数据块N块,N为大于1的自然数,并更新索引口录来记录每块的位置;释放数据节点中的本地索引HDFS文件,以节约空间。
7.如权利要求1所述的一种面向大数据的关系型数据库混合异构查询模型,其特征在于:通过在数据节点的全局索引层建立索引树来访问全局索引文件,以获得满足用户查询条件的全局索引记录,全局索引机制访问步骤如下:
步骤1,生成索引树叶子节点,扫描全局索引文件中的一块或多块,当某行记录中索引字段的值满足查询条件时,标记该行并建立指针,将指针根据各自行的标记字段分配到相应的叶子节点上,叶子节点数为n即每个叶子节点都有非空的指针列表;
步骤2,生成索引树的中间节点和根节点,根据系统的拓扑图,将每个叶子节点对应的中间节点和根节点插入索引树,中间节点和根节点的指针列表暂时为空;
步骤3,更新所有节点上的指针列表,记索引树的节点数为nindex(nindex<=n,n为叶子节点数)记所有叶子节点中的指计数为wpointer那么每个节点应该平均拥有p=wpointer/nindex个指针,如果叶子节点的指计列表中有超过p个指针,那么保留前p个指针不动,将其余指针移入该叶子节点对应的中间节点的指针列表中;
步骤4,生成所有节点上的位置信息字段表,对每个节点i,扫描指针列表,根据节点属性找到每个指针在全局索引文件中指向行的位置信息字段,生成位置信息列表。
8.如权利要求1所述的一种面向大数据的关系型数据库混合异构查询方法,其特征在于,包括以如下步骤:
步骤1,通过模型查询引擎,提交SQL查询语句;
步骤2,根据中间件索引生成器生成的全局索引查找数据位置,将MapReduce编程模型的Map函数调度到相应的节点;
步骤3,如果全局索引有要查询的数据,则通过数据加载器加载数据;如果查询字段没有建立索引,则直接访问HDFS;
步骤4,Map函数将SQL查询推入底层数据节点的数据库中执行,每个数据库返回的中间结果再由MapReduce编程模型Reduce函数进行归约;
步骤5,将归约后的结果写入HDFS中。

说明书全文

一种面向大数据的关系型数据库混合异构查询模型与方法

技术领域

[0001] 本发明涉及一种面向大数据的关系型数据库混合异构查询模型与方法,属于信息技术处理领域。

背景技术

[0002] 在大数据分析领域,随着数据量的急剧增长,高扩展性和高性能是大数据分析平台必备的特性,并行数据库包括先进的技术手段与算法,如索引、数据压缩物化视图、结果缓冲、I/O共享、优化的数据连接等;但在扩展性上有所欠缺,大多只支持有限扩展,即数百节点的规模MapReduce由Googel提出,是面向大规模廉价服务器集群上的非结构化数据的一次性处理而设计的。MapReduce具有高可扩展性,即可以任意地在集群中添加或移除节点,而几乎不影响现有任务的执行;但在同等硬件条件下,MapReduce处理结构化数据的性能远低于并行数据库,使得它在处理连接(数据分析领域的关键操作)时的性能尤其不尽如人意。单独基于并行数据库或实现的系统都不是大数据分析的理想解决方案,因此,大量研究着手将两者结合起来,期望设计出兼具两者优点的大数据分析平台。HaoopDB作为混合集成系统中的代表性研究,其系统架构分成两层:上层使用进行任务的分解和调度,下层使用关系数据库进行数据的查询和处理。它的创新之处是:通过借助Hadoop框架来获得较好的容错性和对异构环境的支持;通过将查询尽可能推入数据库中执行来获得较好的性能。在HaoopDB中数据需要经过全局划分和数据库加载后才能使用,且尚不支持数据的动态划分,需要将数据一次性划分好。导致大规模数据的数据库数据预处理代价过高,同时将数据平均分配到各个节点,无法保持原有各数据库的独立完整性。

发明内容

[0003] 发明目的:针对现有技术中的问题,借鉴HadoopDB系统原理,公开一种面向大数据的关系型数据库混合异构查询模型与方法,该模型支持原数据动态划分,提高预处理效率,在保持原数据完整的基础上,提高大规模用户下查询请求的响应时间。
[0004] 技术方案:一种面向大数据的关系型数据库混合异构查询模型,包括借鉴HadoopDB通过Hadoop进行查询任务分解、调度以及关系型数据库完成数据的查询、处理混合集成系统架构将一种面向大数据的关系型数据库混合异构查询模型分为四个部分,包括最底层的中心数据库的数据层、Hadoop分布式文件系统HDFS、MapReduce编程模型和中间件,最底层的中心数据库的数据层,用来存放要查询的数据,通过建立全局索引机制和分类查询机制提高数据表查询效率;数据层包括多个数据库节点,中间层为Hadoop分布式文件系统HDFS,存放元数据和中间结果,同时,添加数据缓存层和全局索引层用来存放所有的数据字典表、结果缓冲以及所有数据表的全局索引信息、索引目录和索引缓存;顶层采用MapReduce编程模型,提供对HDFS中数据并行处理和确保容错性;中间件包括数据库连接器、数据加载器、中间件的索引生成器和查询引擎四个功能模,全局索引层包括索引生成器、LRU算法(近期最少使用算法,Least Recently Used)、索引生成缓存、索引目录。
[0005] 进一步地,中间件设计数据库连接器,将Hadoop文件系统与数据库连接起来,使MapReduce可以直接访问Oracle数据库,利用Hadoop提供的DBInptuFormat类访问数据库,把数据库表数据读入到HDFS;再利用TextOutpuFormat类将得到的结果写入数据库表中。
[0006] 进一步地,中间件设计数据加载器,将数据字典表和数据表的本地索引从数据库中加载进HDFS的数据节点,对数据字典表,由于其查询频率高,但数据量很小且表基本固定不变,因此将所有的数据字典表都加载进HDFS的数据缓存层;对数据表,只将其本地索引加载进的全局索引层。
[0007] 进一步地,中间件索引生成器,利用MapReduce编程模型,将加载进的本地索引合并为全局索引,存放在HDFS的数据节点,当全局索引生成后,将释放HDFS中的本地索引以减少空间,如果全局索引过大,将被自动划分成合适的大小,并用索引目录来记录每块的位置,索引目录采用格式,存放在HDFS的名字节点中,索引缓冲采用近期最少使用算法即LRU(Least Recently Used),将最常使用的全局索引块从HDFS的数据节点移至名字节点中。
[0008] 进一步地,中间件设计查询引擎,对不同的查询请求提供不同的执行策略。对数据字典表查询时,将直接访问HDFS。对数据表中没有建立索引的字段查询时,将直接访问底层的数据库;对数据表中已经建立索引的字段查询时,将先访问中的全局索引层获得哪些数据库应该被访问,再并行访问这些数据库,每个数据库完成部分查询,最后将得到的结果合并返回。
[0009] 进一步地,数据层建立本地索引和全局索引,对数据库表中物理位置字段建立的目录,使用索引可快速访问表中的特定信息,数据库数据有多个副本,可以利用数据复本能提高任务的访存性能,提高访存速度,在分析筛选出用户常用的查询字段的基础上,利用系统中每份数据都有个多个副本的特点,为数据表建立全局索引,提高数据表的查询效率,对每一个数据库节点,数据库连接器用于连接Hadoop和数据库,使MapReduce可以直接访问数据库,数据加载器通过数据库连接器,用MapReduce将数据表的本地索引加载进HDFS文件系统中的数据节点;索引生成器根据索引字段,利用MapReduce将加载进HDFS的本地索引合并为全局索引,存放在HDFS的数据节点;如果全局索引过大,索引生成器将根据HDFS文件格式要求将其划分成合适的数据块N块,N为大于1的自然数,并更新索引口录来记录每块的位置;释放数据节点中的本地索引HDFS文件,以节约空间。
[0010] 进一步地,通过在数据节点的全局索引层建立索引树来访问全局索引文件,以获得满足用户查询条件的全局索引记录,全局索引机制访问步骤如下:
[0011] 步骤1,生成索引树叶子节点,扫描全局索引文件中的一块或多块,当某行记录中索引字段的值满足查询条件时,标记该行并建立指针,将指针根据各自行的标记字段分配到相应的叶子节点上,叶子节点数为n即每个叶子节点都有非空的指针列表;
[0012] 步骤2,生成索引树的中间节点和根节点,根据系统的拓扑图,将每个叶子节点对应的中间节点和根节点插入索引树,中间节点和根节点的指针列表暂时为空;
[0013] 步骤3,更新所有节点上的指针列表,记索引树的节点数为nindex(nindex<=n,n为叶子节点数)记所有叶子节点中的指计数为wpointer那么每个节点应该平均拥有p=wpointer/nindex个指针,如果叶子节点的指计列表中有超过p个指针,那么保留前p个指针不动,将其余指针移入该叶子节点对应的中间节点的指针列表中;
[0014] 步骤4,生成所有节点上的位置信息字段表,对每个节点i,扫描指针列表,根据节点属性找到每个指针在全局索引文件中指向行的位置信息字段,生成位置信息列表。
[0015] 一种面向大数据的关系型数据库混合异构查询方法,包括以如下步骤:
[0016] 步骤1,通过模型查询引擎,提交SQL查询语句;
[0017] 步骤2,根据中间件索引生成器生成的全局索引查找数据位置,将MapReduce编程模型的Map函数调度到相应的节点;
[0018] 步骤3,如果全局索引有要查询的数据,则通过数据加载器加载数据;如果查询字段没有建立索引,则直接访问HDFS;
[0019] 步骤4,Map函数将SQL查询推入底层数据节点的数据库中执行,每个数据库返回的中间结果再由MapReduce编程模型Reduce函数进行归约;
[0020] 步骤5,将归约后的结果写入HDFS中。
[0021] 有益效果:
[0022] 本发明的一种面向大数据的关系型数据库混合异构查询模型支持原数据动态划分,提高预处理效率,在保持原数据完整的基础上,提高大规模用户下查询请求的响应时间。附图说明
[0023] 图1是一种面向大数据的关系型数据库混合异构查询模型系统结构图。

具体实施方式

[0024] 下面结合附图对本发明做更进一步的解释。
[0025] 数据层建立本地索引和全局索引,对数据库表中某些字段建立的目录,使用索引可快速访问表中的特定信息。一般数据库数据有多个副本,可以利用数据复本能提高任务的访存性能,提高取得访存加速比。在通过分析筛选出用户最为常用的查询字段的基础上,再利用系统中每份数据都有多个副本的特点,为数据表建立全局索引。通过中间件的索引生成器,生成索引叶子节点、中间节点和根节点建立索引树来访问全局索引文件,以获得满足用户查询条件的全局索引记录,全局索引放于缓存层,具有较高的读取速率。
[0026] 一种面向大数据的关系型数据库混合异构查询模型,中间层为Hadoop分布式文件系统HDFS,存放元数据和中间结果,同时,添加数据缓存层和全局索引层用来存放所有的数据字典表及其结果缓冲和所有数据表的全局索引信息、索引目录和索引缓存;顶层采用MapReduce编程模型,提供对HDFS中数据并行处理和保证容错性;中间件包括数据库连接器、数据加载器、索引生成器和查询引擎四个功能模块。中间件设计数据库连接器,将Hadoop与数据库连接起来,使MapReduce可以直接访问数据库节点数据加载器将访问频率较高的数据字典表和数据表的本地索引从数据库中加载进HDFS的数据节点。索引生成器利用MapReduce编程模型,将加载进的本地索引合并为全局索引,存放在HDFS的数据节点。查询引擎对不同的查询请求提供不同的执行策略。对数据字典表查询时,将直接访问HDFS。对数据表中没有建立索引的字段查询时,将直接访问底层的数据库;对数据表中已经建立索引的字段查询时,将先访问中的全局索引层获得哪些数据库应该被访问,再并行访问这些数据库,每个数据库完成部分查询,最后将得到的结果合并返回。
[0027] 本发明在HadoopDB的基础上,提出了一种面向大数据的关系型数据库混合异构查询模型和方法的创新之处是:保持原有关系数据库的独立完整性,基础上增加数据缓存层,用于存放所有的数据字典表及其结果缓冲,能及时响应大规模用户下的并发查询请求;为具有多个数据复本的数据库系统设计了一种全局索引,当按索引字段查询数据表时,支持原数据动态划分,提高预处理效率,在保持原数据完整的基础上,提高大规模用户下查询请求的响应时间。
[0028] 以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈