【技术实现步骤摘要】
一种HBase的SQL解释器和优化方法
本专利技术涉及HBase数据库的SQL数据操作技术,特别是一种HBase的SQL解释器和优化方法,通过设置词法分析器、语法分析器、语义分析器和执行器的组合,能够将SQL语句中的逻辑算子解析出来,有利于所述逻辑算子转换为在HBase数据库中直接执行的物理算子,从而为广大的SQL语言使用者降低HBase数据库的使用难度。
技术介绍
随着业务规模的增加,尤其是数据规模的增加,关系数据库无法应对海量数据存储、高并发访问等现实需求。也正因为如此,大数据领域涌现出众多的替代方案和系统,HBase就是一种与关系数据库截然不同的数据库。HBase是一种分布式的、面向列的数据库,其存储模型是多级键值对+列式存储,其很好的解决了结构化、半结构化海量数据存储、高效随机读写的问题。但HBase并未提供对SQL的支持,也很难支持,因为HBase的存储模型是多级键值对+列式存储,这种存储模型的基本运算不是关系运算,而是键值对运算(即key-value运算),key-value的基本运算主要包括:Put运算,添加新 ...
【技术保护点】
1.一种HBase的SQL解释器,其特征在于,包括接收来自应用程序的SQL语句输入接口,连接HBase的算子调用接口,以及在所述HBase与所述应用程序之间传输所述SQL语句在所述HBase中执行结果的传输接口,所述SQL语句输入接口连接词法分析器,所述词法分析器连接语法分析器,所述语法分析器连接语义分析器,所述语义分析器连接执行器,所述执行器连接所述HBase的算子调用接口,所述语义分析器具有连接所述HBase的信息接口。/n
【技术特征摘要】
1.一种HBase的SQL解释器,其特征在于,包括接收来自应用程序的SQL语句输入接口,连接HBase的算子调用接口,以及在所述HBase与所述应用程序之间传输所述SQL语句在所述HBase中执行结果的传输接口,所述SQL语句输入接口连接词法分析器,所述词法分析器连接语法分析器,所述语法分析器连接语义分析器,所述语义分析器连接执行器,所述执行器连接所述HBase的算子调用接口,所述语义分析器具有连接所述HBase的信息接口。
2.根据权利要求1所述的HBase的SQL解释器,其特征在于,所述词法分析器、所述语法分析器、所述语义分析器和所述执行器分别连接符号表管理模块,所述符号表管理模块存储单词类型为标识符的词法单元;所述词法分析器、所述语法分析器、所述语义分析器和所述执行器分别连接错误处理模块,所述错误处理模块根据错误类型对错误进行处理,处理方式包括:尝试自动修正或终止SQL解析或忽略错误。
3.根据权利要求1所述的HBase的SQL解释器,其特征在于,所述语义分析器通过优化器连接所述执行器;所述优化器分别连接符号表管理模块和错误处理模块。
4.根据权利要求1所述的HBase的SQL解释器,其特征在于,所述词法分析器采用确定性有限自动机DFA算法将输入的SQL语句解析成词法单元序列,所述词法单元序列被输出到所述语法分析器,所述词法分析器将错误信息输出到错误处理模块,将标识符输出到符号表管理模块。
5.根据权利要求4所述的HBase的SQL解释器,其特征在于,所述确定性有限自动机DFA算法包括一个五元组数据M,M=(K,Σ,f,S,Z),其中K是一个有穷集,所述有穷集中的每个元素称为一个状态;Σ是一个有穷字母表,所述有穷字母表中的每个元素称为一个输入符号;f是转换函数,所述转换函数是K×Σ→K上的映射;S∈K是唯一的一个初态;Z⊂K是一个终态集;所述f是全部转换函数或部分转换函数,当所述f是部分转换函数时,设f(ki,a)=kj,且(ki∈K,kj∈K),则所述f当前状态为ki,输入符为a时,所述f将转换为下一个状态kj,kj是ki的一个后继状态。
6.根据权利要求2所述的HBase的SQL解释器,其特征在于,所述语法分析器接收来自所述词法单元的词法单元序列,按照设定的文法规则将所述词法单元序列组装成语法分析树,所述语法分析树被输出到所述语义分析器,所述语法分析器将错误信息输出到错误处理模块,并根据语法分析结果更新符号表管理模块中的标识符;所述文法规则采用语句构成规则,或采用计算机编程语言语法分析领域中的文法四元组数据G,G=(N,E,P,B),其中N是非终结符集合;E是终结符号集合,E与N无交集;P是如下形式的一组产生式规则,(E∪N)*中的字符串→(E∪N)*中的字符串,并且产生式左侧的字符串中必须至少包括一个非终结符号;B是起始符号,B属于N;所述语法分析树的结构中,SQL语句是位于顶端的根节点,叶子节点是位于最末层的词法单元,枝节点位于根节点与叶子节点之间,根节点属于起始符号B,叶子节点属于终结符集合E,枝节点...
【专利技术属性】
技术研发人员:赵欣,其他发明人请求不公开姓名,
申请(专利权)人:深圳市赢时胜信息技术股份有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。