一种分布式newSQL数据库的访问方法与流程

文档序号:12034837阅读:764来源:国知局
本发明涉及大数据
技术领域
:,尤其涉及一种分布式newsql数据库的访问方法。
背景技术
::目前hbase是hadoop生态体系中最著名的分布式nosql数据库之一。其设计理念来源于google的bigtable。hbase主要组件包括hmaster和hregionsever,为用户提供表格类型的数据模型,按主键范围划分为多个region,hmaster负责管理和分配region,hregionserver负责region数据的读写。但随着越来越多的应用尝试迁移到hbase上:用户需要通过api编程访问hbase,不支持标准jdbc接口,对于复杂应用使用成本过高,直接导致许多较为复杂的应用无法使用hbase,使用成本高。技术实现要素:本发明实施例的目的是提供一种分布式newsql数据库的访问方法,支持jdbc接口的访问方式,简化etl过程,降低成本。为实现上述目的,本发明实施例提供了一种分布式newsql数据库的访问方法,包括:通过jdbc接口接收用户请求;通过所述jdbc接口调用jdbc对象方法以给出所述用户请求对应的sql语句;将所述用户请求对应的sql语句发送至指定的底层的数据库,以根据所述用户请求的sql语句从所述底层的数据库获取结果;将所述结果通过jdbc接口返回用户。进一步的,所述根据所述用户请求的sql语句从所述底层的数据库获取结果包括:解析所述用户请求对应的sql语句,根据所述sql语句编译以及定制执行计划;并行地执行所述计划,以获取数据进行归并汇总作为结果。进一步的,所述解析所述用户请求对应的sql语句,根据所述sql语句编译以及定制执行计划包括:判断共享缓存池中是否已经存在sql语句,如若存在,输出sql语句对应的执行计划;否则,对sql语句进行语法检查和进行语义检查,语法检查和语义检查通过后,对sql语句进行视图以及表达式转换;根据所述转换结果进行优化器选择;根据所述优化器的选择结果选择数据连接方式以及连接顺序;根据所述连接方式和所述连接顺序选择搜索路径;根据所述搜索路径生成执行计划并输出。进一步的,所述并行地执行所述计划,以获取数据进行归并汇总作为结果包括:根据索引定义将以倒排索引的方式将索引数据并行写入所述索引表,从而建立二级索引;将已建立二级索引的作为结果;其中,所述用户请求包括存储数据;或,根据索引定义以及查询条件优先查询所述索引表,并行地通过所述索引表查询结果再次查询数据表;将从所述数据表获取的数据作为结果;其中,所述用户请求包括查询数据;进一步的,所述并行地执行所述计划,以获取数据进行归并汇总作为结果包括:将json数据作为普通字符串类型整体作为一个字段写入到hbase的数据表中;根据字段描述,提取json中的数据,以倒排索引的方式将索引数据写入到另外的hbase索引表中,完成半结构化数据的存储;将已建立索引数据的作为结果返回;其中,所述用户请求包括存储json数据;或,根据查询条件,并行地查询索引表;将索引表的索引id返回给所述并行任务执行器;根据所述索引id,查询数据表,以获取对应的json数据作为结果;其中,所述用户请求包括查询json数据;进一步的,所述并行地执行所述计划,以获取数据进行归并汇总作为结果包括:将图片数据生成信息摘要算法加密后的图像数据格式,将加密后的图片数据写入到原始数据表;并行地将加密后的所述图片数据写入到图片数据表中进行独立存储,将写入所述图片数据作为结果;其中,所述用户请求包括存储图片数据;或,根据查询条件,查询原始数据表,得到信息摘要算法加密后的图像数据;并行地根据加密后的所述图像数据;查询图片数据表,获取图片数据作为结果,其中,所述用户请求包括查询图片数据。进一步的,所述并行地执行所述计划,以获取数据进行归并汇总作为结果包括:将需要全文检索的字段作为普通字符串类型写入到hbase的数据表中进行存储,根据字段描述,将数据写入到搜索引擎服务器中进行索引,将建立的索引作为结果;其中,所述用户请求包括获取全文检索的字段;或,根据查询条件,到所述搜索引擎服务器中查询具体的索引id,所述搜索引擎服务器根据查询条件返回索引id,根据索引id,查询数据表,以获取查询数据作为结果;其中,所述用户请求包括查询全文检索的字段。与现有技术相比,本发明公开的通过jdbc接口接收用户请求;通过所述jdbc接口调用jdbc对象方法以给出所述用户请求对应的sql语句;将所述用户请求对应的sql语句发送至指定的底层的数据库,以根据所述用户请求的sql语句从所述底层的数据库获取结果;将所述结果通过jdbc接口返回用户的技术方案,解决了现有技术不支持标准jdbc接口,对于复杂应用使用成本过高的问题,获得了简化etl过程,降低成本的有益效果。附图说明图1是本发明实施例中一种分布式newsql数据库的访问方法的流程示意图的流程示意图;图2是本发明实施例中一种分布式newsql数据库的访问方法的步骤s3的流程示意图;图3是本发明实施例中一种分布式newsql数据库的访问方法的步骤s31的流程示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。参见图1,是本发明实施例1提供的一种分布式newsql数据库的访问方法的流程示意图,包括步骤:s1、通过jdbc接口接收用户请求;s2、通过jdbc接口调用jdbc对象方法以给出用户请求对应的sql语句;s3、将用户请求对应的sql语句发送至指定的底层的数据库,以根据用户请求的sql语句从底层的数据库获取结果;s4、将结果通过jdbc接口返回用户。现有的hbase仅提供了javaapi的访问接口,其封装了大量的数据操作接口。但其操作模式和方法是hbase特有的api模式。与人们习惯的jdbc方式完全不同。对于普通用户使用成本高。本实施例通过上述过程实现以标准jdbc/odbc接口的方式接入用户请求,即实现对分布式newsql数据库的访问,保持人们常用的操作习惯,支持标准jdbc接口,简便了整个etl过程中的清洗、转换和加载过程,降低了用户成本。进一步的,参见图2,步骤s3中根据用户请求的sql语句从底层的数据库获取结果包括:s31、解析用户请求对应的sql语句,根据sql语句编译以及定制执行计划;s32、并行地执行计划,以获取数据进行归并汇总作为结果。进一步的,参见图3,步骤s31解析用户请求对应的sql语句,根据sql语句编译以及定制执行计划具体包括:s311、判断共享缓存池中是否已经存在sql语句,如若存在,输出sql语句对应的执行计划;否则,对sql语句进行语法检查和进行语义检查,语法检查和语义检查通过后,对sql语句进行视图以及表达式转换;s312、根据转换结果进行优化器选择;s313、根据优化器的选择结果选择数据连接方式以及连接顺序;s314、根据连接方式和连接顺序选择搜索路径;s315、根据搜索路径生成执行计划并输出。进一步的,步骤s32并行地执行计划,以获取数据进行归并汇总作为结果包括:根据索引定义将以倒排索引的方式将索引数据并行写入索引表,从而建立二级索引;将已建立二级索引的作为结果;其中,用户请求包括存储数据;或,根据索引定义以及查询条件优先查询索引表,并行地通过索引表查询结果再次查询数据表;将从数据表获取的数据作为结果;其中,用户请求包括查询数据;进一步的,针对用户请求的数据为json数据,步骤s32并行地执行计划,以获取数据进行归并汇总作为结果可以包括:将json数据作为普通字符串类型整体作为一个字段写入到hbase的数据表中;根据字段描述,提取json中的数据,以倒排索引的方式将索引数据写入到另外的hbase索引表中,完成半结构化数据的存储;将已建立索引数据的作为结果返回;其中,用户请求包括存储json数据;或,根据查询条件,并行地查询索引表;将索引表的索引id返回给并行任务执行器;根据索引id,查询数据表,以获取对应的json数据作为结果;其中,用户请求包括查询json数据;进一步的,针对用户请求的数据为图片数据,步骤s32并行地执行计划,以获取数据进行归并汇总作为结果包括:将图片数据生成信息摘要算法加密后的图像数据格式,将加密后的图片数据写入到原始数据表;并行地将加密后的图片数据写入到图片数据表中进行独立存储,将写入图片数据作为结果;其中,用户请求包括存储图片数据;或,根据查询条件,查询原始数据表,得到信息摘要算法加密后的图像数据;并行地根据加密后的图像数据;查询图片数据表,获取图片数据作为结果,其中,用户请求包括查询图片数据。进一步的,针对用户请求的数据为全文检索数据,步骤s32并行地执行计划,以获取数据进行归并汇总作为结果包括:将需要全文检索的字段作为普通字符串类型写入到hbase的数据表中进行存储,根据字段描述,将数据写入到搜索引擎服务器中进行索引,将建立的索引作为结果;其中,用户请求包括获取全文检索的字段;或,根据查询条件,到搜索引擎服务器中查询具体的索引id,搜索引擎服务器根据查询条件返回索引id,根据索引id,查询数据表,以获取查询数据作为结果;其中,用户请求包括查询全文检索的字段。具体实施时,首先,通过jdbc接口接收用户请求;然后,通过jdbc接口调用jdbc对象方法以给出用户请求对应的sql语句;接着将用户请求对应的sql语句发送至指定的底层的数据库,以根据用户请求的sql语句从底层的数据库获取结果;最后,将结果通过jdbc接口返回用户。本实施例解决在实际应用中对hbase使用成本高、不支持复杂查询、可用性较低的问题,保持了人们习惯的jdbc方式,简化etl过程,降低用户成本。以上所述是本发明的优选实施方式,应当指出,对于本
技术领域
:的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1