一种分布式NewSQL数据库系统和半结构化数据查询方法技术方案

技术编号:16662926 阅读:66 留言:0更新日期:2017-11-30 11:59
本发明专利技术公开了一种分布式NewSQL数据库系统,包括:控制单元,用于以数据库接口的方式接入用户请求,并将所述用户请求发送给计划单元;其中,所述用户请求包括需要查询的JSON数据的查询条件;计划单元,用于解析所述用户请求,编译以及定制对应的执行计划;执行单元,用于根据执行计划,启动协同处理模块获取索引数据;并根据所述索引数据查询数据表,获得查询结果;并返回所述查询结果至所述控制单元;Hbase单元,储存所述数据表和索引表;所述Hbase单元包括所述协同处理模块,用于根据所述查询条件查询索引表,获得相应的所述索引数据。本发明专利技术还公开了半结构化数据查询方法。本发明专利技术实现JSON格式的数据查询,解决处理半结构化数据时效果及性能不佳的问题。

【技术实现步骤摘要】
一种分布式NewSQL数据库系统和半结构化数据查询方法
本专利技术涉及大数据
,尤其涉及一种分布式NewSQL数据库系统和半结构化数据查询方法。
技术介绍
目前Hbase单元是Hadoop生态体系中最著名的分布式NoSQL数据库之一。Hbase单元主要组件包括HMaster和HRegionsever,为用户提供表格类型的数据模型,按主键范围划分为多个region,HMaster负责管理和分配region,HRegionserver负责region数据的读写。现有的Hbase单元存储的数据没有数据类型之分,均为byte数组,因此如若要存储JSON这种半结构化数据即在查询方面会存在一些问题。在Hbase单元要存储JSON格式数据,则常规会将整个JSON对象当作字符串存储。该方式存在如下缺陷:要过滤记录的时候,需要将所有的记录都读取出来然后在客户端进行过滤,在数据量较大的情况下该性能不能被接受。要更新记录的时候,需要将记录读取出来再针对具体的字段进行更新后重写入到Hbase单元进行覆盖。
技术实现思路
本专利技术实施例的目的是提供一种分布式NewSQL数据库系统和数据查询方法,能实现JSON格式的数据查询,解决处理半结构化数据时效果以及性能不佳的问题。为实现上述目的,本专利技术实施例提供了一种分布式NewSQL数据库,包括:控制单元,用于以数据库接口的方式接入用户请求,并将所述用户请求发送给计划单元;还用于将查询结果返回用户;其中,所述用户请求包括需要查询的JSON数据的查询条件,所述查询结果为根据所述查询条件所获得的JSON数据;计划单元,用于解析所述用户请求,编译以及定制对应的执行计划;执行单元,用于根据执行计划,启动协同处理模块获取与所述用户请求的所述查询条件相对应的索引数据;并根据获取的所述索引数据查询数据表,从而获得对应的所述查询结果;并返回所述查询结果至所述控制单元;Hbase单元,用于储存所述数据表和索引表,其中,Hbase单元的底层增加JSON类型数据,所述JSON数据整体存储在底层HFile中;所述Hbase单元还包括所述协同处理模块,所述协同处理模块用于根据所述查询条件查询索引表,获得相对应的所述索引数据;其中,所述索引表中已储存由所述JSON数据作为一个嵌套的类型所生成的倒排索引形式的索引数据。与现有技术相比,本专利技术公开的一种分布式NewSQL数据库系统,首先通过控制单元以数据库接口的方式接入用户请求,并将用户请求发送给计划单元;然后通过计划单元解析用户请求,编译以及生成对应的执行计划;接着,通过执行单元根据执行计划,启动协同处理模块获取Hbase单元的索引表中与所述用户请求的所述查询条件相对应的索引数据;并根据获取的所述索引数据查询Hbase单元的数据表,从而获得对应的所述查询结果,即获得JSON数据;并返回所述查询结果至所述控制单元,最后通过控制单元返回用户的技术方案,能实现JSON格式的数据查询,解决处理半结构化数据时效果以及性能不佳的问题。进一步的,所述分布式NewSQL数据库系统还包括:分布式事务管理器,用于当所述执行计划中涉及分布式事务时,协调所述执行计划中的多方完成分布式事务管理。进一步的,所述Hbase单元还包括Hbase单元API接口,所述执行单元用于根据获取的所述索引数据通过所述Hbase单元API接口查询数据表,从而获得对应的所述查询结果。进一步的,所述数据库接口为JDBC或ODBC。本专利技术实施例还公开了一种半结构化数据查询方法,基于上述本专利技术实施例所述的分布式NewSQL数据库系统,包括:通过控制单元以数据库接口的方式接入用户请求,并将所述用户请求发送给计划单元;其中,所述用户请求包括需要查询的JSON数据的查询条件,所述查询结果为根据所述查询条件所获得的JSON数据;通过计划单元解析所述用户请求,编译以及定制对应的执行计划;通过执行单元根据执行计划,启动Hbase单元的协同处理模块所述查询条件查询索引表,获得相对应的所述索引数据;其中,所述索引表中已储存由所述JSON数据作为一个嵌套的类型所生成的倒排索引形式的索引数据;所述索引表储存于所述Hbase单元中;通过所述执行单元根据获取的所述索引数据查询数据表,从而获得对应的所述查询结果;并返回查询结果至所述控制单元;其中,所述数据表均储存于所述Hbase单元;Hbase单元的底层增加JSON类型数据,所述JSON数据整体存储在底层HFile中;通过所述控制单元将所述查询结果返回用户。与现有技术相比,本专利技术公开的一种半结构化数据查询方法,首先通过控制单元以数据库接口的方式接入用户请求,并将用户请求发送给计划单元;然后通过计划单元解析用户请求,编译以及生成对应的执行计划;接着,通过执行单元根据执行计划,启动协同处理模块获取Hbase单元的索引表中与所述用户请求的所述查询条件相对应的索引数据;并根据获取的所述索引数据查询Hbase单元的数据表,从而获得对应的所述查询结果,即获得JSON数据;并返回所述查询结果至所述控制单元,最后通过控制单元返回用户的技术方案,能实现JSON格式的数据查询,解决处理半结构化数据时效果以及性能不佳的问题。进一步的,通过分布式事务管理器当所述执行计划中涉及分布式事务时,协调所述执行计划中的多方完成分布式事务管理。进一步的,所述执行单元查询所述数据表时通过所述Hbase单元的Hbase单元API接口查询数据表,从而获得对应的查询结果;进一步的,所述数据库接口为JDBC或ODBC。附图说明图1是本专利技术实施例1提供的一种分布式NewSQL数据库的结构示意图;图2是本专利技术实施例2提供的一种半结构化数据查询方法的流程示意图;图3是本专利技术实施例2提供的一种半结构化数据查询方法的步骤S2中生成执行计划的流程示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。参见图1,图1是本专利技术实施例1提供的一种分布式NewSQL数据库系统的结构示意图;本实施例1包括下述结构:控制单元1,用于以数据库接口的方式接入用户请求,并将所述用户请求发送给计划单元2;还用于将查询结果返回用户;其中,所述用户请求包括需要查询的JSON数据的查询条件,所述查询结果为根据所述查询条件所获得的JSON数据;计划单元2,用于解析所述用户请求,编译以及定制对应的执行计划;执行单元3,用于根据执行计划,启动协同处理模块41获取与所述用户请求的所述查询条件相对应的索引数据;并根据获取的所述索引数据查询数据表,从而获得对应的所述查询结果;并返回所述查询结果至所述控制单元1;Hbase单元4,用于储存所述数据表和索引表,其中,Hbase单元4的底层增加JSON类型数据,所述JSON数据整体存储在底层HFile中;所述Hbase单元4还包括所述协同处理模块41,所述协同处理模块41用于根据所述查询条件查询索引表,获得相对应的所述索引数据;其中,所述索引表中已储存由所述JSON数据作为一个嵌套的类型所生成的倒排索引形式的索引数本文档来自技高网...
一种分布式NewSQL数据库系统和半结构化数据查询方法

【技术保护点】
一种分布式NewSQL数据库系统,其特征在于,包括:控制单元,用于以数据库接口的方式接入用户请求,并将所述用户请求发送给计划单元;还用于将查询结果返回用户;其中,所述用户请求包括需要查询的JSON数据的查询条件,所述查询结果为根据所述查询条件所获得的JSON数据;计划单元,用于解析所述用户请求,编译以及定制对应的执行计划;执行单元,用于根据执行计划,启动协同处理模块获取与所述用户请求的所述查询条件相对应的索引数据;并根据获取的所述索引数据查询数据表,从而获得对应的所述查询结果;并返回所述查询结果至所述控制单元;Hbase单元,用于储存所述数据表和索引表,其中,Hbase单元的底层增加JSON类型数据,所述JSON数据整体存储在底层HFile中;所述Hbase单元还包括所述协同处理模块,所述协同处理模块用于根据所述查询条件查询索引表,获得相对应的所述索引数据;其中,所述索引表中已储存由所述JSON数据作为一个嵌套的类型所生成的倒排索引形式的索引数据。

【技术特征摘要】
2016.09.21 CN 20161084239971.一种分布式NewSQL数据库系统,其特征在于,包括:控制单元,用于以数据库接口的方式接入用户请求,并将所述用户请求发送给计划单元;还用于将查询结果返回用户;其中,所述用户请求包括需要查询的JSON数据的查询条件,所述查询结果为根据所述查询条件所获得的JSON数据;计划单元,用于解析所述用户请求,编译以及定制对应的执行计划;执行单元,用于根据执行计划,启动协同处理模块获取与所述用户请求的所述查询条件相对应的索引数据;并根据获取的所述索引数据查询数据表,从而获得对应的所述查询结果;并返回所述查询结果至所述控制单元;Hbase单元,用于储存所述数据表和索引表,其中,Hbase单元的底层增加JSON类型数据,所述JSON数据整体存储在底层HFile中;所述Hbase单元还包括所述协同处理模块,所述协同处理模块用于根据所述查询条件查询索引表,获得相对应的所述索引数据;其中,所述索引表中已储存由所述JSON数据作为一个嵌套的类型所生成的倒排索引形式的索引数据。2.如权利要求1所述的分布式NewSQL数据库系统,其特征在于,还包括:分布式事务管理器,用于当所述执行计划中涉及分布式事务时,协调所述执行计划中的多方完成分布式事务管理。3.如权利要求2所述的分布式NewSQL数据库系统,其特征在于,所述Hbase单元还包括Hbase单元API接口,所述执行单元用于根据获取的所述索引数据通过所述Hbase单元API接口查询数据表,从而获得对应的所述查询结果。4.如权利要求...

【专利技术属性】
技术研发人员:晋彤谭恒亮
申请(专利权)人:广州特道信息科技有限公司
类型:发明
国别省市:广东,44

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

1