一种分布式NewSQL数据库系统和全文检索方法技术方案

技术编号:16819136 阅读:59 留言:0更新日期:2017-12-16 12:34
本发明专利技术公开了一种分布式NewSQL数据库系统,包括:控制单元,用于以数据库接口的方式接入用户请求,并将所述用户请求发送给计划单元;还用于将查询结果返回用户;其中,所述用户请求包括查询条件;计划单元,用于解析所述用户请求,编译以及生成对应的执行计划;执行单元,用于根据执行计划,将所述查询条件从SQL条件语句转换成SOLR的查询表达式,然后根据所述SOLR的查询表达式查询索引表,获取对应的索引数据;并根据获取的所述索引数据查询数据表,获得对应的查询结果;并返回查询结果至控制单元;Hbase单元,用于储存所述数据表;Solr单元,用于储存所述索引表。本发明专利技术还公开了全文检索方法。本发明专利技术支持分布式全文检索,满足用户创建全文索引的需求。

A distributed NewSQL database system and full text retrieval method

The invention discloses a distributed NewSQL database system includes: a control unit is used to access the database interface and user request, the user request is sent to the planning unit; for the query results returned to the user; wherein, the user request includes query conditions; planning unit, is used to resolve the user request compile, and generate the corresponding execution plan; execution unit, according to the plan, the query conversion from the SQL statement into SOLR query expressions, then according to the query table of the SOLR type of query index table, index data to obtain the corresponding data table; and according to the index data query and get the corresponding results; and then return the results to the control unit; the Hbase unit is used for storing the data sheet for Solr unit; Store the index table. The invention also discloses a full text retrieval method. The invention supports distributed full text retrieval to meet the needs of users to create full text index.

【技术实现步骤摘要】
一种分布式NewSQL数据库系统和全文检索方法
本专利技术涉及大数据
,尤其涉及一种分布式NewSQL数据库系统和全文检索方法。
技术介绍
目前Hbase单元是Hadoop生态体系中最著名的分布式NoSQL数据库之一。其设计理念来源于Google的Bigtable。Hbase单元主要组件包括HMaster和HRegionsever,为用户提供表格类型的数据模型,按主键范围划分为多个region,HMaster负责管理和分配region,HRegionserver负责region数据的读写。Hbase单元的优点使其成为目前应用最广泛的分布式NoSQL数据库之一,随着越来越多的应用尝试迁移到Hbase单元上,但Hbase单元只支持基于主键的查询,并不支持全文检索,给很多应用带来了不便。
技术实现思路
本专利技术实施例的目的是提供一种分布式NewSQL数据库系统和全文检索方法,通过Solr支持分布式全文检索,支持非主键的查询,满足用户全文检索的需求。为实现上述目的,本专利技术实施例提供了一种分布式NewSQL数据库系统,包括:控制单元,用于以数据库接口的方式接入用户请求,并将所述用户请求发送给计划单元;还用于将查询结果返回用户;其中,所述用户请求包括全文检索的查询条件;计划单元,用于解析所述用户请求,编译以及生成对应的执行计划;执行单元,用于根据执行计划,将所述查询条件从SQL条件语句转换成SOLR的查询表达式,然后根据所述SOLR的查询表达式查询索引表,获取对应的索引数据;并根据获取的所述索引数据查询数据表,从而获得对应的所述查询结果;并返回查询结果至所述控制单元;Hbase单元,用于储存所述数据表;其中,所述数据表中存有全文检索的数据字段;Solr单元,用于储存所述索引表;其中,所述索引表中存有由根据所述全文检索的数据字段的描述所生成的倒排索引形式的索引数据。与现有技术相比,本专利技术公开的一种分布式NewSQL数据库系统,通过控制单元以数据库接口的方式接入用户请求,并将所述用户请求发送给计划单元;通过计划单元解析所述用户请求,编译以及生成对应的执行计划;通过执行单元根据执行计划,根据执行计划,将所述查询条件从SQL条件语句转换成SOLR的查询表达式,然后根据所述SOLR的查询表达式查询索引表,获取对应的索引数据;并根据获取的所述索引数据查询数据表,从而获得对应的所述查询结果,并返回查询结果至所述控制单元;最后,通过控制单元将处理结果返回用户的技术方案,基于Solr单元实现全文检索,以支持分布式全文检索,支持用户非主键查询,满足用户全文检索的需求,提高用户体验。进一步的,还包括:分布式事务管理器,用于当所述执行计划中涉及事务时,协调所述执行计划中的多方完成分布式事务管理。进一步的,所述Hbase单元还包括Hbase单元API接口,所述执行单元用于根据获取的所述索引数据通过所述Hbase单元API接口查询数据表,从而获得对应的所述查询结果。进一步的,所述数据库接口为JDBC或ODBC。本专利技术实施例还提供了一种全文检索建立方法,基于上述本专利技术实施例提供的分布式NewSQL数据库系统,包括:通过控制单元以数据库接口的方式接入用户请求,并将所述用户请求发送给计划单元;其中,所述用户请求包括全文检索的查询条件;通过计划单元解析所述用户请求,编译以及生成对应的执行计划;通过执行单元根据执行计划,包括:通过执行单元将所述查询条件从SQL条件语句转换成SOLR的查询表达式,根据所述SOLR的查询表达式查询所述索引表,获取对应的索引数据;其中,所述索引表储存于Solr单元,所述索引表中存有索引数据,所述索引数据为根据数据表所存的全文检索的数据字段的描述所生成的倒排索引形式的索引数据;并,通过执行单元根据所述索引数据查询数据表,获得对应的所述查询结果;其中,所述数据表储存于Hbase单元,所述数据表中存有所述全文检索的数据字段;通过所述执行单元返回查询结果至所述控制单元;通过所述控制单元返回所述查询结果至用户。与现有技术相比,本专利技术公开的一种全文检索建立方法,通过控制单元以数据库接口的方式接入用户请求,并将所述用户请求发送给计划单元;通过计划单元解析所述用户请求,编译以及生成对应的执行计划;通过执行单元根据执行计划,根据执行计划,将所述查询条件从SQL条件语句转换成SOLR的查询表达式,然后根据所述SOLR的查询表达式查询索引表,获取对应的索引数据;并根据获取的所述索引数据查询数据表,从而获得对应的所述查询结果,并返回查询结果至所述控制单元;最后,通过控制单元将处理结果返回用户的技术方案,基于Solr单元实现全文检索,以支持分布式全文检索,支持用户非主键查询,满足用户全文检索的需求,提高用户体验。进一步的,通过分布式事务管理器当所述执行计划中涉及事务时,协调所述执行计划中的多方完成分布式事务管理。进一步的,所述执行单元查询查询所述数据表时通过所述Hbase单元的Hbase单元API接口查询所述图片数据表,从而获得对应的查询结果。进一步的,所述数据库接口为JDBC或ODBC。附图说明图1是本专利技术实施例1提供的一种分布式NewSQL数据库系统的结构示意图;图2是本专利技术实施例2提供的一种全文检索方法的流程示意图;图3是本专利技术实施例2提供的一种全文检索方法的步骤S2中生成执行计划的流程示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。参见图1,图1是本专利技术实施例1提供的一种分布式NewSQL数据库系统的结构示意图:本实施例的具体结构包括:控制单元1,用于以数据库接口的方式接入用户请求,并将所述用户请求发送给计划单元2;还用于将查询结果返回用户;其中,所述用户请求包括全文检索的查询条件;计划单元2,用于解析所述用户请求,编译以及生成对应的执行计划;执行单元3,用于根据执行计划,将所述查询条件从SQL条件语句转换成SOLR的查询表达式,然后根据所述SOLR的查询表达式查询索引表,获取对应的索引数据;并根据获取的所述索引数据查询数据表,从而获得对应的所述查询结果;并返回查询结果至所述控制单元1;Hbase单元4,用于储存所述数据表;其中,所述数据表中存有全文检索的数据字段;Solr单元5,用于储存所述索引表;其中,所述索引表中存有由根据所述全文检索的数据字段的描述所生成的倒排索引形式的索引数据。本实施例的Solr单元5中已储存针对需要全文检索的字段将索引数据,由Solr单元5提供全文检索的功能。进一步的,本实施例还包括分布式事务管理器,用于当执行计划中涉及事务时,协调执行计划中的多方完成分布式事务管理。分布式事务管理器利用Java事务处理API(JTA)实现分布式事务处理和事务管理;其中,JTA,即JavaTransactionAPI,JTA允许应用程序执行分布式事务处理——在两个或多个网络计算机资源上访问并且更新数据。进一步的,所述Hbase单元4还包括Hbase单元API接口,所述执行单元3用于根据获取的所本文档来自技高网...
一种分布式NewSQL数据库系统和全文检索方法

【技术保护点】
一种分布式NewSQL数据库系统,其特征在于,包括:控制单元,用于以数据库接口的方式接入用户请求,并将所述用户请求发送给计划单元;还用于将查询结果返回用户;其中,所述用户请求包括全文检索的查询条件;计划单元,用于解析所述用户请求,编译以及生成对应的执行计划;执行单元,用于根据执行计划,将所述查询条件从SQL条件语句转换成SOLR的查询表达式,然后根据所述SOLR的查询表达式查询索引表,获取对应的索引数据;并根据获取的所述索引数据查询数据表,从而获得对应的所述查询结果;并返回查询结果至所述控制单元;Hbase单元,用于储存所述数据表;其中,所述数据表中存有全文检索的数据字段;Solr单元,用于储存所述索引表;其中,所述索引表中存有由根据所述全文检索的数据字段的描述所生成的倒排索引形式的索引数据。

【技术特征摘要】
2016.09.21 CN 20161084239971.一种分布式NewSQL数据库系统,其特征在于,包括:控制单元,用于以数据库接口的方式接入用户请求,并将所述用户请求发送给计划单元;还用于将查询结果返回用户;其中,所述用户请求包括全文检索的查询条件;计划单元,用于解析所述用户请求,编译以及生成对应的执行计划;执行单元,用于根据执行计划,将所述查询条件从SQL条件语句转换成SOLR的查询表达式,然后根据所述SOLR的查询表达式查询索引表,获取对应的索引数据;并根据获取的所述索引数据查询数据表,从而获得对应的所述查询结果;并返回查询结果至所述控制单元;Hbase单元,用于储存所述数据表;其中,所述数据表中存有全文检索的数据字段;Solr单元,用于储存所述索引表;其中,所述索引表中存有由根据所述全文检索的数据字段的描述所生成的倒排索引形式的索引数据。2.如权利要求1所述的分布式NewSQL数据库系统,其特征在于,还包括:分布式事务管理器,用于当所述执行计划中涉及事务时,协调所述执行计划中的多方完成分布式事务管理。3.如权利要求2所述的分布式NewSQL数据库系统,其特征在于,所述Hbase单元还包括Hbase单元API接口,所述执行单元用于根据获取的所述索引数据通过所述Hbase单元API接口查询数据表,从而获得对应的所述查询结果。4.如权利要求3所述的分布式NewSQL数据库系统,其特征在于,所述数据...

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

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

1