论文部分内容阅读
互联网和移动通信的出现,是信息化高速发展的结果。互联网和移动通信逐渐成为人们最主要的交流沟通工具。信息化的世界需要大数据的支持,大数据的出现又使得关系型数据库暴露出了种种的不足,这使得关系型数据库的统治地位岌岌可危。在此背景下,NoSQL数据库孕育而生,NoSQL数据库产品犹如雨后春笋般蓬勃发展。这些数据库的最大特点就是能够进行GB级别到TB级别的数据处理。其中,HBase备受关注。然而,为了使得数据库能够支持大数据的处理和非结构化数据,NoSQL数据库放弃了关系型数据库强制的事务完整性,二级索引机制和SQL语句作为输入的查询操作。随着HBase的流行,人们开始着手为HBase实现一个支持SQL的转化层,以降低对HBase使用的学习难度。本文开篇对本论文撰写的研究背景和意义进行了阐述,说明了设计和实现一个基于HBase的SQL转化引擎的重要性。然后,用一章的内容对SQL转化引擎相关的背景知识进行了介绍,主要包括对Hadoop的概念和架构的介绍;对HBase整体设计介绍和HBase与传统关系型数据库对比分析;以及对ANTLR这个解析工具的工作流程和作用进行了详细的说明介绍。接下来,是对SQL转化引擎系统设计架构的介绍,分层介绍了SQL解析层、SQL分析层、SQL-HBase转化层以及HBase API调用层。接着,是对SQL转化引擎的系统实现进行了充分的讨论,说明了各个部分实现的原理和关键技术。需要补充的是,系统实现利用了HBase现有的大部分接口和协处理器框架来完成传统关系型数据库的查询和聚合。文章最后也对SQL转化引擎的效果进行了通过性测试和时间性能测试。综上所述,本论文提出了设计一个基于HBase的SQL转化引擎,使得HBase能接收SQL语句作来操纵HBase的设想变为现实。通过ANTLR对SQL语句进行解析,对解析的结果进行对象化封装并对参数进行遍历访问求解出需要查找的列和行,再调用了经过封装的HBase API类方法来返回结果,实现了一个可用的,简单的SQL转化引擎。本论文也是对HBase扩展开发的一个新的尝试,对于普及HBase做出了一定的贡献。本论文中得到的结论和观点也是有利于后来人对HBase研究和理解。论文最后讨论的SQL转化引擎不足,以及未来需要进行的工作。