期刊库

教育   经济   科技   财会   管理   
医学   法学   文史   工业   建筑   
农学   水利   计算机   更多>>
 首 页    论文大全   论文精品    学术答疑    论文检测    出书咨询    服务流程    诚信通道    关于我们 

大数据环境下基于Hbase的分布式查询优化研究(2)

人气指数: 发布时间:2014-08-18 14:49  来源:http://www.zgqkk.com  作者: 杜晓东
分享到:

 

  最后,我们还将对大数据环境下基于Hbase的分布式SQL解析引擎进行性能测试及调优。

  2.2 系统架构设计。本文的设计将基于Hbase分布式数据库,设计并实现SQL解析引擎,然后通过Hbase协处理器框架提供的API注入到Hbase服务器并且部署到HRegionServer上,作为Hbase数据查询的分布式SQL解析引擎,即:Hbase Distributed SQL Parse Engine,简称Hbase DSPE。Hbase DSPE中包含四大核心模块:(1)DSPE Client(客户端):提供基于JDBC的SQL客户端。DSPE Client部署在Hbase客户端,其封装了对JDBC的实现,同时将用户的SQL进行必要的检查,并且转换成对Hbase友好的SQL,如包含Row Key条件的Select查询语句。(2)DSPE Master(主服务器):提供分布式SQL解析引擎。DSPE Master部署在Hbase的HRegionServer上,可以将DSPE客户端提交过来的SQL查询请求进行解析,转换为一个或多个HBase能够识别的Scan或者Put操作(Schema转换,SQL schema转换为底层Hbase中数据表的Schema,通过解析SQL语句的方式实现查询或者操作Hbase的数据)。如果是查询请求,就利用Scan编排执行并获取数据,然后将获取回来的数据再根据SQL进行过滤和计算,以生成标准的JDBC结果集,返回给客户端。如果是其他请求,那么就将Hbase的操作结果返回给客户端。整个SQL语句解析与执行完成后的组装通过Hbase协处理器实现。(3)DSPE Coprocessor(协处理器):提供DSPE和Hbase集成的API,通过Hbase协处理器实现。(4)DSPE Common Interface(通用接口):提供公共基础类库以及SQL节点的Java对象。DSPE Common Interface模块也包含一些公共的基础Bean,比如用来表征一行记录的类(Record Class),DSPE Client和DSPE Master都会依赖其提供的类库以及API。

  图1是HbaseDSPE中四个主要模块的组织架构图:

  图1 DSPE中四个模块的组织架构图

  2.3 各模块详细设计:(1)DSPE客户端。DSPE Client提供了一个客户端可嵌入的JDBC驱动。因为实现了SQL语言查询,客户端可以不再使用HBase自带的Client API,而是使用DSPE Client,从而使客户端所需编写的代码量大幅度降低,同时也使Hbase API的易用性、可扩展性大大提高。DSPE Client客户端的设计主要包含以下几个部分:JDBC连接以及驱动开发,SQL提交工具,输入输出的压缩与加密,与ZooKeeper的接口等。此外,DSPE Client也会维护一些Cache来加快对Hbase的访问(使用Hbase的HMemstore),比如HRegion的位置信息。(2)DSPE主服务器。DSPE Master(主服务器)是本设计方案的核心,其中包括DSPE的核心组件SQL解析引擎。DSPE Master的设计基于Hbase API,将DSPE Client提交过来的SQL查询请求进行解析,转换为一个或多个HBase能够识别的Scan(Schema转换,SQL Schema转换为底层Hbase中数据表的Schema,通过解析SQL语句的方式实现Scan Hbase的数据),利用Scan编排执行并获取数据,然后将获取回来的数据再根据SQL进行过滤和计算,以生成标准的JDBC结果集,返回给客户端。整个SQL语句解析与执行完成后的组装通过Hbase协处理器实现。从而达到直接使用HBase API、Coprocessor协处理器与自定义过滤器以提高查询效率。DSPE Master实现的主要功能模块有:SQL解析引擎、SQL语法节点(对象)、多线程分布式查询、查询结果缓存以及对事务(Transaction)的有限支持。(3)DSPE协处理器。DSPE协处理器的实现基于Hbase 协处理器API,将DSPE Master封装成为一个Coprocessor Observer。同时,利用Coprocessor EndPoint实现元数据(Metadata)的处理(类似于Hive中对元数据的处理,主要用来做性能调优),并部署在Hbase的HRegionServer上来实现接收DSPE客户端的请求。(4)DSPE通用接口。DSPE通用接口的实现主要基于Hbase公共基础类库API,提供DSPE需要的公共基础类库以及SQL节点的Java对象。DSPE Common Interface模块也包含一些公共的基础Bean,比如用来表征一行记录的类(Record Class),DSPE Client和DSPE Master都会依赖其提供的类库以及API。此外,还采用开放式架构以支持Hadoop Hbase以外的其他规范,如Hadoop分布式文件系统(HDFS)异构开发环境以及编程模型如Spark。(5)DSPE的查询处理流程及性能测试。DSPE可以通过标注SQL语句来查询Hbase中的表数据,并且支持   为了验证Hbase DSPE在大数据环境下的查询性能,我们使用大规模的数据对Hbase DSPE进行性能测试(1000万条记录行数),并且针对Hive以及Hbase本身进行了基准比较测试。测试环境由6台机器组成Hbase集群,并且部署Hbase DSPE,同时在Hbase集群上安装Hive,使Hbase集群其同时兼做Hive集群。我们可以从表1中看出Hbase DSPE的查询性能要胜过Hive近2.5倍。

  3 结束语

  本文设计的基于Hbase的SQL解析引擎将提供与传统SQL编程模型完全兼容的分布式查询平台,并且直接使用HBase API和协处理器(Coprocessor),从而实现向外扩展的大数据分布式处理机制。通过性能测试我们可以看Hbase DSPE相对于Hive在查询性能上的优越性,并且对于同样使用了HBase API、协同处理器及自定义过滤器的Impala与OpenTSDB来说,Hbase DSPE进行相似查询的速度预期也会更快。由于使用分布式批处理查询,Hbase DSPE可支持超过1000个并发的查询任务,将大幅度提高服务器的利用率。此外,Hbase DSPE还可以应用Hbase分布式数据库的诸多高级特性,使用户对SQL查询的优化可以通过配置Hbase的各种参数来实现,而不需要进行复杂的SQL查询语句的优化。因此,基于Hbase的SQL解析引擎DSPE是值得进一步深入研究的。

  Hbase DSPE未来还计划支持如Cloudera,Spark等分布式数据库以及大数据编程模型,并且逐步在大数据领域的分布式查询应用中进行推广、应用,形成开放的DSPE API接口,努力成为公共的大数据分布式查询解决方案。

  参考文献:

  [1]张旭中.分布式数据库查询优化技术[D].电子科技大学,2003.

  [2]Jeffrey Dean,Sanjay Ghemawat.MapReduce:Simplified Data Processing on Large Clusters.Google,Inc,2004.

  [3]Lars George.“Hbase:The Definitive Guide”.1st edition,O'Reilly Media,2008.

  [4]http://hbase.apache.org/book/book.html.Apache Hbase Ref Guide.Hbase Website,2012.

  [5]李崇欣.分布式数据库HBase快照的设计与实现[D].浙江大学,2011.

  [6]Mehul Nalin Vora.Hadoop-HBase for Large-Scale Data.Innovation Labs,PERC Tata Consultancy Services(TCS)Ltd.Mumbai,India,2011.

  [7]Chongxin Li.Transforming Relational Database into HBase:A Case Study.Zhejiang University,Hangzhou,China,2011.

  [8]Hive.http://hive.apache.org.

  [9]Lars George.“Hbase:The Definitive Guide”.1st edition,O'Reilly Media,2008.

  


期刊库(http://www.zgqkk.com),是一个专门从事期刊推广、投稿辅导的网站。
  本站提供如何投稿辅导,寻求投稿辅导合作,快速投稿辅导,投稿辅导格式指导等解决方案:省级投稿辅导/国家级投稿辅导/核心期刊投稿辅导//职称投稿辅导。


  【免责声明】本文仅代表作者本人观点,与投稿辅导_期刊发表_中国期刊库专业期刊网站无关。投稿辅导_期刊发表_中国期刊库专业期刊网站站对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。

 
QQ在线咨询
投稿辅导热线:
180-1501-6272
微信号咨询:
fabiaoba-com
咨询电话:18015016272 投稿邮箱:zgqkk365#126.com(#换成@)
本站郑重声明:文章只代表作者观点, 并不意味着本站认同。所载文章、数据仅供参考,使用前请核实,风险自负。
部分作品系转载,版权归原作者或相应的机构   若某篇作品侵犯您的权利,请来信告知.版权:周口博闻教育咨询有限公司 
Copyright © 2005-2023 . 期刊库 版权所有