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

技术编号:16662928 阅读:67 留言:0更新日期:2017-11-30 11:59
本发明专利技术公开了一种全文检索建立的方法,适用于分布式NewSQL数据库系统,分布式NewSQL数据库系统包括solr单元,全文检索建立的方法包括:以JDCB/ODBC的接口方式接入用户请求,其中,用户请求包括需要写入的全文检索的数据字段;解析用户请求,编译以及生成对应的执行计划;根据执行计划,将全文检索的数据字段写入数据表;在全文检索的数据字段写入数据表时,根据全文检索的数据字段的描述生成倒排索引形式的索引数据,并将索引数据写入到solr单元的索引表;将需要写入的全文检索的数据字段已写入的处理结果返回用户。本发明专利技术还提供一种分布式NewSQL数据库系统。本发明专利技术通过支持分布式全文检索,满足用户创建全文索引的需求。

【技术实现步骤摘要】
一种全文检索建立的方法和分布式NewSQL数据库系统
本专利技术涉及大数据
,尤其涉及一种全文检索建立的方法和分布式NewSQL数据库系统。
技术介绍
目前Hbase是Hadoop生态体系中最著名的分布式NoSQL数据库之一。其设计理念来源于Google的Bigtable。Hbase主要组件包括HMaster和HRegionsever,为用户提供表格类型的数据模型,按主键范围划分为多个region,HMaster负责管理和分配region,HRegionserver负责region数据的读写。Hbase的优点使其成为目前应用最广泛的分布式NoSQL数据库之一,随着越来越多的应用尝试迁移到Hbase上,但Hbase只支持基于主键的查询,并不支持全文检索,给很多应用带来了不便。
技术实现思路
本专利技术实施例的目的是提供一种全文检索建立的方法和分布式NewSQL数据库系统,通过支持分布式全文检索,满足用户创建全文索引的需求。为实现上述目的,本专利技术实施例提供了一种全文检索建立的方法,适用于分布式NewSQL数据库系统,所述分布式NewSQL数据库系统包括Solr单元,所述全文检索建立的方法包括:以JDCB/ODBC的接口方式接入用户请求,其中,所述用户请求包括需要写入的全文检索的数据字段;解析所述用户请求,编译以及生成对应的执行计划;根据所述执行计划,将所述全文检索的数据字段写入所述数据表;在所述全文检索的数据字段写入所述数据表时,根据所述全文检索的数据字段的描述生成倒排索引形式的索引数据,并将所述索引数据写入到所述solr单元的索引表;将处理结果返回用户,所述处理结果为所述需要写入的全文检索的数据字段已写入的处理结果。进一步的,还包括:将所述用户请求转化SQL语句形式的SQL请求。进一步的,所述解析所述用户请求,编译以及生成对应的执行计划包括:判断共享缓存池中是否存在与所述SQL请求相对应的预存SQL语句,若是,则输出相对应的所述预存SQL语句对应的执行计划,若否,则,对所述SQL请求进行语法检查,若语法错误返回错误信息给用户,否则,对所述SQL请求进行语义检查,若语义错误返回错误信息给用户,否则,对所述SQL请求进行视图以及表达式转换,获得对应的转化结果;根据所述转换结果选择优化器,获得对应的优化器选择结果;根据所述优化器选择结果选择对应的数据连接方式以及连接顺序;根据连接方式和连接顺序选择搜索的路径;根据搜索路径生成执行计划,并输出执行计划。相应的,本专利技术实施例还提供一种分布式NewSQL数据库系统,包括:JDCB/ODBC接口单元,用于与用户进行交互操作,包括接收用户请求,返回处理结果给用户;其中,所述用户请求包括需要写入的全文检索的数据字段,所述处理结果为需要写入的全文检索的数据字段已写入的处理结果;master单元,用于接入JDCB/ODBC接口单元所接入的用户请求,并协调多个处理器之间的数据通讯以及管理整体流程,并将所述用户请求优先发送给SQLPlaner单元;master单元还用于所述处理结果返回JDCB/ODBC接口单元;SQLPlaner单元,用于解析所述用户请求,根据所述用户请求编译以及定制执行计划;worker单元,用于并行地执行所述计划,包括:根据执行计划,将所述全文检索的数据字段作为普通字符串类型写入数据表;还用于将所述Hbase单元的处理结果返回至所述master单元;Hbase单元,用于储存所述数据表;所述Hbase单元还包括所述coprocessor模块,所述coprocessor模块用于在所述全文检索的数据字段写入所述数据表时,根据所述全文检索的数据字段的描述生成倒排索引形式的索引数据,并将所述索引数据写入到索引表;Solr单元,用于储存所述索引表;分布式事务管理器,用于当所述worker单元执行计划涉及事务时,协调多方完成分布式事务管理。进一步的,JDCB/ODBC接口单元还用于将所述用户请求转化SQL语句形式的SQL请求。进一步的,所述SQLPlaner单元用于:判断共享缓存池中是否存在与所述SQL请求相对应的预存SQL语句,若是,则输出相对应的所述预存SQL语句对应的执行计划,若否,则,对所述SQL请求进行语法检查,若语法错误返回错误信息给用户,否则,对所述SQL请求进行语义检查,若语义错误返回错误信息给用户,否则,对所述SQL请求进行视图以及表达式转换,获得对应的转化结果;根据所述转换结果选择优化器,获得对应的优化器选择结果;根据所述优化器选择结果选择对应的数据连接方式以及连接顺序;根据连接方式和连接顺序选择搜索的路径;根据搜索路径生成执行计划,并输出执行计划。进一步的,还包括:监视器,用于负责元数据管理,监控所述Hbase单元的Region的负载,以及通过所述Hbase单元的coprocessor模块重新分配Region;所述监视器与所述master单元连接。进一步的,所述监控所述Hbase单元的Region的负载,以及通过所述Hbase单元的coprocessor模块重新分配Region包括:接收所述Hbase单元的数据分布信息,接收所述master单元中的所述worker单元的负载信息,其中,所述负载信息包括所述worker单元的负载偏差值;将所述worker单元的负载偏差值与预设负载偏差阈值进行比较,若判定所述负载偏差值超过阀值,触发所述Hbase单元将命中率较高服务器上的Region和命中率较低服务器上的Region进行从新分配;获取每一Region的数据量,将每一所述Region的数据量与预设数据量阈值进行判断,若判定所述Region的数据量超过阀值,触发所述Hbase单元将超过预设数据量阈值的所述Region切分成两个。进一步的,所述JDCB/ODBC接口单元包括:JDBC应用程序模块,用于接收用户请求,以及调用JDBC对象方法以给出SQL语句,并用于提取结果返回用户;JDBC驱动程序管理器模块,用于为所述JDBC应用程序模块加载和调用JDBC驱动程序模块;JDBC驱动程序模块,用于执行所述JDBC对象方法的调用,发送用户请求所对应的SQL语句给底层的数据库,并将从所述底层的数据库获得的结果返回给JDBC应用程序模块。与现有技术相比,本专利技术公开的一种全文检索建立方法和分布式NewSQL数据库系统,通过以JDCB/ODBC的接口方式接入用户请求,解析所述用户请求,编译以及生成对应的执行计划;根据所述执行计划,将所述全文检索的数据字段写入所述数据表;在所述全文检索的数据字段写入所述数据表时,根据所述全文检索的数据字段的描述生成倒排索引形式的索引数据,并将所述索引数据写入到索引表;将处理结果返回用户,所述处理结果为所述需要写入的全文检索的数据字段已写入的处理结果的技术方案,解决了现有技术中Hbase只支持基于主键的查询,并不支持全文检索的问题,通过Solr建立全文检索,以支持分布式全文检索,满足用户创建全文索引的需求,提高用户体验。附图说明图1是本专利技术实施例1提供的一种全文检索建立方法的流程示意图;图2是本专利技术实施例2提供的一种分布式NewSQL数据库系统的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、本文档来自技高网...
一种全文检索建立的方法和分布式NewSQL数据库系统

【技术保护点】
一种全文检索建立的方法,其特征在于,适用于分布式NewSQL数据库系统,所述分布式NewSQL数据库系统包括Solr单元,所述全文检索建立的方法包括:以JDCB/ODBC的接口方式接入用户请求,其中,所述用户请求包括需要写入的全文检索的数据字段;解析所述用户请求,编译以及生成对应的执行计划;根据所述执行计划,将所述全文检索的数据字段写入所述数据表;在所述全文检索的数据字段写入所述数据表时,根据所述全文检索的数据字段的描述生成倒排索引形式的索引数据,并将所述索引数据写入到所述solr单元的索引表;将处理结果返回用户,所述处理结果为所述需要写入的全文检索的数据字段已写入的处理结果。

【技术特征摘要】
2016.09.21 CN 20161084239971.一种全文检索建立的方法,其特征在于,适用于分布式NewSQL数据库系统,所述分布式NewSQL数据库系统包括Solr单元,所述全文检索建立的方法包括:以JDCB/ODBC的接口方式接入用户请求,其中,所述用户请求包括需要写入的全文检索的数据字段;解析所述用户请求,编译以及生成对应的执行计划;根据所述执行计划,将所述全文检索的数据字段写入所述数据表;在所述全文检索的数据字段写入所述数据表时,根据所述全文检索的数据字段的描述生成倒排索引形式的索引数据,并将所述索引数据写入到所述solr单元的索引表;将处理结果返回用户,所述处理结果为所述需要写入的全文检索的数据字段已写入的处理结果。2.如权利要求1所述的一种全文检索建立的方法,其特征在于,还包括:将所述用户请求转化SQL语句形式的SQL请求。3.如权利要求2所述的一种全文检索建立的方法,其特征在于,所述解析所述用户请求,编译以及生成对应的执行计划包括:判断共享缓存池中是否存在与所述SQL请求相对应的预存SQL语句,若是,则输出相对应的所述预存SQL语句对应的执行计划,若否,则,对所述SQL请求进行语法检查,若语法错误返回错误信息给用户,否则,对所述SQL请求进行语义检查,若语义错误返回错误信息给用户,否则,对所述SQL请求进行视图以及表达式转换,获得对应的转化结果;根据所述转换结果选择优化器,获得对应的优化器选择结果;根据所述优化器选择结果选择对应的数据连接方式以及连接顺序;根据连接方式和连接顺序选择搜索的路径;根据搜索路径生成执行计划,并输出执行计划。4.一种分布式NewSQL数据库系统,其特征在于,包括:JDCB/ODBC接口单元,用于与用户进行交互操作,包括接收用户请求,返回处理结果给用户;其中,所述用户请求包括需要写入的全文检索的数据字段,所述处理结果为需要写入的全文检索的数据字段已写入的处理结果;master单元,用于接入JDCB/ODBC接口单元所接入的用户请求,并协调多个处理器之间的数据通讯以及管理整体流程,并将所述用户请求优先发送给SQLPlaner单元;master单元还用于所述处理结果返回JDCB/ODBC接口单元;SQLPlaner单元,用于解析所述用户请求,根据所述用户请求编译以及定制执行计划;worker单元,用于并行地执行所述计划,包括:根据执行计划,将所述全文检索的数据字段作为普通字符串类型写入数据表;还用于将所述Hbase单元的处理结果返回至所述master单元;Hbase单元,用于储存所述数据表;所述Hbase单元还包括所述coprocessor模块,所述coprocessor模块用于在所述全文检索的数据字段写入所述数据表时,根据所述全文检索的数据字段的描述生成倒排索引...

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

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

1