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

技术编号:16662930 阅读:215 留言:0更新日期:2017-11-30 11:59
本发明专利技术公开了一种分布式NewSQL数据库系统,包括:控制单元,用于以数据库接口的方式接入用户请求,并将所述用户请求发送给计划单元;其中,所述用户请求包括需要写入的JSON数据;计划单元,用于解析所述用户请求,编译以及生成对应的执行计划;执行单元,用于根据执行计划,将所述JSON数据作为普通字符串类型整体作为一个数据字段写入数据表;Hbase单元,储存所述数据表和索引表;所述Hbase单元包括协同处理模块,用于在JSON数据写入数据表时,将JSON数据作为一个嵌套的类型生成倒排索引形式的索引数据,并将所述索引数据写入到所述索引表。本发明专利技术还公开了半结构化数据查询方法。本发明专利技术能实现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数据写入数据表时,将所述JSON数据作为一个嵌套的类型生成倒排索引形式的索引数据,并将所述索引数据写入到所述索引表。与现有技术相比,本专利技术公开的一种分布式NewSQL数据库系统,首先通过控制单元以数据库接口的方式接入用户请求,并将用户请求发送给计划单元;然后通过计划单元解析用户请求,编译以及生成对应的执行计划;接着,通过执行单元根据执行计划,将所述JSON数据作为普通字符串类型整体作为一个数据字段写入数据表,所述JSON数据整体存储在Hbase单元的底层HFile中;所述协同处理模块用于在所述JSON数据写入数据表时,将所述JSON数据作为一个嵌套的类型生成倒排索引形式的索引数据,并将所述索引数据写入到所述索引表的技术方案,实现JSON格式的数据储存,解决处理半结构化数据时效果以及性能不佳的问题。进一步的,所述执行单元用于将所述Hbase单元的处理结果返回至所述控制单元;所述控制单元还用于将所述处理结果返回用户。进一步的,还包括:分布式事务管理器,用于当所述执行计划中涉及分布式事务时,协调所述执行计划中的多方完成分布式事务管理。进一步的,所述Hbase单元还包括过滤模块,所述过滤模块和所述协同处理模块用于生成针对数据的所述索引表。进一步的,所述数据库接口为JDBC或ODBC。本专利技术实施例还提供一种半结构化数据储存方法,基于上述本专利技术实施例提供的所述的分布式NewSQL数据库系统,包括:通过控制单元以数据库接口的方式接入用户请求,并将所述用户请求发送给计划单元;其中,所述用户请求包括需要写入的JSON数据;通过计划单元解析所述用户请求,编译以及生成对应的执行计划;通过执行单元根据执行计划,将所述JSON数据作为普通字符串类型整体作为一个数据字段写入数据表;其中,所述数据表储存于Hbase单元中;所述Hbase单元的底层增加JSON类型数据,所述JSON数据整体存储在底层HFile中;在所述JSON数据写入数据表时,通过所述Hbase单元的协同处理模块将所述JSON数据作为一个嵌套的类型生成倒排索引形式的索引数据,并将所述索引数据写入到所述索引表,其中,所述索引表储存于所述Hbase单元。与现有技术相比,本专利技术公开的一种半结构化数据储存方法,首先通过控制单元以数据库接口的方式接入用户请求,并将用户请求发送给计划单元;然后通过计划单元解析用户请求,编译以及生成对应的执行计划;接着,通过执行单元根据执行计划,将所述JSON数据作为普通字符串类型整体作为一个数据字段写入数据表,所述JSON数据整体存储在Hbase单元的底层HFile中;通过所述协同处理模块在所述JSON数据写入数据表时,将所述JSON数据作为一个嵌套的类型生成倒排索引形式的索引数据,并将所述索引数据写入到所述索引表的技术方案,实现JSON格式的数据储存,解决处理半结构化数据时效果以及性能不佳的问题。进一步的,通过所述协同处理模块将所述索引数据写入到索引表后,还包括:通过所述执行单元将所述Hbase单元的处理结果返回至所述控制单元;所述控制单元将所述处理结果返回用户。进一步的,还包括:通过分布式事务管理器当所述执行计划中涉及分布式事务时,协调所述执行计划中的多方完成分布式事务管理。进一步的,所述Hbase单元还包括过滤模块,通过所述过滤模块和协同处理模块生成针对数据的所述索引表。进一步的,所述数据库接口为JDBC或ODBC。附图说明图1是本专利技术实施例1提供的一种分布式NewSQL数据库的结构示意图;图2是本专利技术实施例2提供的一种半结构化数据储存方法的流程示意图;图3是本专利技术实施例2提供的一种半结构化数据储存方法的步骤S2中生成执行计划的流程示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。参见图1,图1是本专利技术实施例1提供的一种分布式NewSQL数据库系统的结构示意图,本实施例的具体结构包括:控制单元1,用于以数据库接口的方式接入用户请求,并将所述用户请求发送给计划单元2;其中,所述用户请求包括需要写入的JSON数据;计划单元2,用于解析所述用户请求,编译以及生成对应的执行计划;执行单元3,用于根据执行计划,将所述JSON数据作为普通字符串类型整体作为一个数据字段写入数据表;Hbase单元4,用于储存所述数据表和索引表,其中,Hbase单元4的底层增加JSON类型数据,所述JSON数据整体存储在底层HFile中;所述Hbase单元4还包括协同处理模块41,所述协同处理模块41用于在所述JSON数据写入数据表时,将所述JSON数据作为一个嵌套的类型生成倒排索引形式的索引数据,并将所述索引数据写入到所述索引表。本实施例在Hbase单元4的底层新增了JSON类型数据,将JSON数据整体存储在底层HFile中,并且在构建二级索引时将JSON的索引列也作为一个嵌套的类型进行索引,因此能支持针对JSON的任意字段查询、创建索引以及删改。进一步的,所述执行单元3用于将所述Hbase单元4的处理结果返回至所述控制单元1;所述控制单元1还用于将所述处本文档来自技高网...
一种分布式NewSQL数据库系统和半结构化数据储存方法

【技术保护点】
一种分布式NewSQL数据库系统,其特征在于,包括:控制单元,用于以数据库接口的方式接入用户请求,并将所述用户请求发送给计划单元;其中,所述用户请求包括需要写入的JSON数据;计划单元,用于解析所述用户请求,编译以及生成对应的执行计划;执行单元,用于根据执行计划,将所述JSON数据作为普通字符串类型整体作为一个数据字段写入数据表;Hbase单元,用于储存所述数据表和索引表,其中,Hbase单元的底层增加JSON类型数据,所述JSON数据整体存储在底层HFile中;所述Hbase单元还包括协同处理模块,所述协同处理模块用于在所述JSON数据写入数据表时,将所述JSON数据作为一个嵌套的类型生成倒排索引形式的索引数据,并将所述索引数据写入到所述索引表。

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

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

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

1