The invention discloses a method for querying semistructured data, including: JDCB/ODBC interface access to user requests, which the user request includes the need JSON data query, the query results for JSON data based on the query conditions obtained; analyzing the user requests, and compile to generate the corresponding execution plan; according to the plan, the index data acquisition request and the user of the query corresponding to the condition; among them, the index table is stored in the index data of inverted index in the form of a nested type generated by the JSON as the data according to the data in the table; the index of data acquisition to obtain the corresponding query, the query results; among them, the JSON data are stored as a whole; return the query results to the user. The invention also discloses a distributed NewSQL database system. The invention realizes data inquiry in JSON format and solves the problem of poor effect and poor performance when dealing with semi structured data.
【技术实现步骤摘要】
一种半结构化数据查询的方法和分布式NewSQL数据库系统
本专利技术涉及大数据
,尤其涉及一种半结构化数据查询的方法和分布式NewSQL数据库系统。
技术介绍
目前Hbase单元是Hadoop生态体系中最著名的分布式NoSQL数据库之一。Hbase单元主要组件包括HMaster和HRegionsever,为用户提供表格类型的数据模型,按主键范围划分为多个region,HMaster负责管理和分配region,HRegionserver负责region数据的读写。现有的Hbase单元存储的数据没有数据类型之分,均为byte数组,因此如若要存储JSON这种半结构化数据即在查询方面会存在一些问题。在Hbase单元要存储JSON格式数据,则常规会将整个JSON对象当作字符串存储。该方式存在如下缺陷:要过滤记录的时候,需要将所有的记录都读取出来然后在客户端进行过滤,在数据量较大的情况下该性能不能被接受。要更新记录的时候,需要将记录读取出来再针对具体的字段进行更新后重写入到Hbase单元进行覆盖。
技术实现思路
本专利技术实施例的目的是提供一种半结构化数据查询的方法和分布式NewSQL数据库系统,能实现JSON格式的数据查询,解决处理半结构化数据时效果以及性能不佳的问题。为实现上述目的,本专利技术实施例提供了一种半结构化数据查询的方法,适用于分布式NewSQL数据库系统,包括:以JDCB/ODBC的接口方式接入用户请求,其中,所述用户请求包括需要查询的JSON数据的查询条件,所述查询结果为根据所述查询条件所获得的JSON数据;解析所述用户请求,编译以及生成对应的执行 ...
【技术保护点】
一种半结构化数据查询的方法,其特征在于,适用于分布式NewSQL数据库系统,包括:以JDCB/ODBC的接口方式接入用户请求,其中,所述用户请求包括需要查询的JSON数据的查询条件,所述查询结果为根据所述查询条件所获得的JSON数据;解析所述用户请求,编译以及生成对应的执行计划;根据执行计划,获取与所述用户请求的所述查询条件相对应的索引数据;其中,所述索引表中已储存由所述JSON数据作为一个嵌套的类型所生成的倒排索引形式的索引数据;根据获取的所述索引数据查询数据表,从而获得对应的所述查询结果;其中,所述JSON数据作为整体进行存储;返回所述查询结果给用户。
【技术特征摘要】
2016.09.21 CN 20161084239971.一种半结构化数据查询的方法,其特征在于,适用于分布式NewSQL数据库系统,包括:以JDCB/ODBC的接口方式接入用户请求,其中,所述用户请求包括需要查询的JSON数据的查询条件,所述查询结果为根据所述查询条件所获得的JSON数据;解析所述用户请求,编译以及生成对应的执行计划;根据执行计划,获取与所述用户请求的所述查询条件相对应的索引数据;其中,所述索引表中已储存由所述JSON数据作为一个嵌套的类型所生成的倒排索引形式的索引数据;根据获取的所述索引数据查询数据表,从而获得对应的所述查询结果;其中,所述JSON数据作为整体进行存储;返回所述查询结果给用户。2.如权利要求1所述的一种半结构化数据查询的方法,其特征在于,还包括:将所述用户请求转化SQL语句形式的SQL请求。3.如权利要求2所述的一种半结构化数据查询的方法,其特征在于,所述解析所述用户请求,编译以及生成对应的执行计划包括:判断共享缓存池中是否存在与所述SQL请求相对应的预存SQL语句,若是,则输出相对应的所述预存SQL语句对应的执行计划,若否,则,对所述SQL请求进行语法检查,若语法错误返回错误信息给用户,否则,对所述SQL请求进行语义检查,若语义错误返回错误信息给用户,否则,对所述SQL请求进行视图以及表达式转换,获得对应的转化结果;根据所述转换结果选择优化器,获得对应的优化器选择结果;根据所述优化器选择结果选择对应的数据连接方式以及连接顺序;根据连接方式和连接顺序选择搜索的路径;根据搜索路径生成执行计划,并输出执行计划。4.一种分布式NewSQL数据库系统,其特征在于,包括:JDCB/ODBC接口单元,用于与用户进行交互操作,包括接收用户请求,返回查询结果给用户;其中,所述用户请求包括需要查询的JSON数据的查询条件,所述查询结果为根据所述查询条件所获得的JSON数据;master单元,用于接入JDCB/ODBC接口单元所接入的用户请求,并协调多个处理器之间的数据通讯以及管理整体流程,并将所述用户请求优先发送给SQLPlaner单元;master单元还用于所述查询结果返回JDCB/ODBC接口单元;SQLPlaner单元,用于解析所述用户请求,根据所述用户请求编译以及定制执行计划;worker单元,用于并行地执行所述计划,包括:根据执行计划,启动coprocessor模块获取与所述用户请求的所述查询条件相对应的索引数据,并,根据获取的所述索引数据查询数据表,从而获得对应的所述查询结果;还用于将所述Hbase单元的查询结果返回至所述master单元;Hbase单元,用于储存所述数据表和索引表;所述Hbase单元还包括所述coprocessor模块,其中,Hbase单元的底...
【专利技术属性】
技术研发人员:晋彤,
申请(专利权)人:广州特道信息科技有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。