The invention discloses a method, an execution plan is generated by the following steps: judging whether there should be shared cache pool relative SQL statement and the SQL statement stored, if the output corresponding to the SQL statement execution plan, if not, then check the grammar in the SQL statement, if the syntax error return error information to the user, otherwise, the semantic checks on the SQL statement, if the semantic error return error information to the user, otherwise, the views and expressions conversion on the SQL statement; according to the results of conversion optimizer; according to the optimization results of selection for selecting the corresponding data connection and connection according to the order; path connection and choose the search order of connection; according to the search path generation plan and execution plan output. The invention also provides a planning unit and a distributed NewSQL database system. The invention can support SQL and greatly reduce the cost of use; support the JDBC/ODBC interface, greatly simplifying the ETL process.
【技术实现步骤摘要】
生成执行计划的方法、计划单元和分布式NewSQL数据库系统
本专利技术涉及hadoop大数据
,尤其涉及生成执行计划的方法、计划单元和分布式NewSQL数据库系统。
技术介绍
目前HBase是Hadoop生态体系中最著名的分布式NoSQL数据库之一。其设计理念来源于Google的Bigtable。HBase主要组件包括HMaster和HRegionsever,为用户提供表格类型的数据模型,按主键范围划分为多个region,HMaster负责管理和分配region,HRegionserver负责region数据的读写。但随着越来越多的应用尝试迁移到HBase上,HBase的缺陷也越来越被暴露出来:使用成本高:用户需要通过API编程访问HBase,对于复杂应用使用成本过高;不支持标准JDBC/ODBC接口,ETL过程十分复杂。使用成本过高直接导致许多较为复杂的应用无法使用HBase。
技术实现思路
本专利技术实施例的目的是提供一种生成执行计划的方法和计划单元、及分布式NewSQL数据库系统,能支持SQL,通过编写SQL实现复杂的业务逻辑,极大的降低了使用成本;支持JDBC/ODBC接口,极大的简化了ETL过程。为实现上述目的,本专利技术实施例提供了一种生成执行计划的方法,包括:判断共享缓存池中是否存在与SQL语句相对应的预存SQL语句,若是,则输出与所述SQL语句对应的执行计划,若否,则对所述SQL语句进行语法检查,若语法错误返回错误信息给用户,否则,对所述SQL语句进行语义检查,若语义错误返回错误信息给用户,否则,对所述SQL语句进行视图以及表达式转换,获 ...
【技术保护点】
一种生成执行计划的方法,其特征在于,包括:判断共享缓存池中是否存在与SQL语句相对应的预存SQL语句,若是,则输出与所述SQL语句对应的执行计划,若否,则对所述SQL语句进行语法检查,若语法错误返回错误信息给用户,否则,对所述SQL语句进行语义检查,若语义错误返回错误信息给用户,否则,对所述SQL语句进行视图以及表达式转换,获得对应的转化结果;根据所述转换结果选择优化器,获得对应的优化器选择结果;根据所述优化器选择结果选择对应的数据连接方式以及连接顺序;根据连接方式和连接顺序选择搜索的路径;根据搜索路径生成执行计划,并输出执行计划。
【技术特征摘要】
2016.09.21 CN 20161084239971.一种生成执行计划的方法,其特征在于,包括:判断共享缓存池中是否存在与SQL语句相对应的预存SQL语句,若是,则输出与所述SQL语句对应的执行计划,若否,则对所述SQL语句进行语法检查,若语法错误返回错误信息给用户,否则,对所述SQL语句进行语义检查,若语义错误返回错误信息给用户,否则,对所述SQL语句进行视图以及表达式转换,获得对应的转化结果;根据所述转换结果选择优化器,获得对应的优化器选择结果;根据所述优化器选择结果选择对应的数据连接方式以及连接顺序;根据连接方式和连接顺序选择搜索的路径;根据搜索路径生成执行计划,并输出执行计划。2.如权利要求1所述的生成执行计划的方法,其特征在于,所述判断共享缓存池中是否存在与SQL语句相对应的预存SQL语句前还包括:解析用户请求,通过SQL引擎编译SQL语句。3.一种计划单元,其特征在于,包括:缓存判断模块,用于判断共享缓存池中是否存在接收的SQL语句,若是,则输出与所述SQL语句对应的执行计划,若否,则启动语法检查模块;语法检查模块,用于对所述SQL语句进行语法检查,若语法错误返回错误信息给用户,否则,语义检查模块,用于对所述SQL语句进行语义检查,若语义错误返回错误信息给用户,否则,转换模块,用于对所述SQL语句进行视图以及表达式转换,获得对应的转化结果;优化器选择模块,用于根据所述转换结...
【专利技术属性】
技术研发人员:晋彤,谭恒亮,
申请(专利权)人:广州特道信息科技有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。