基于HBase的复杂关联查询技术研究

来源 :中国科学院大学 | 被引量 : 0次 | 上传用户:gqkhao
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
目前,工业界各个IT公司面临的数据量急剧增加,且处理的数据类型从单一的结构化类型扩展至复杂的非结构和半结构化的数据类型。在这种背景下,传统型数据库已经不适合这种场景,而以HBase为代表的NoSql数据库越来越受到重视。业界不仅用HBase来存储日志信息,也有不少公司直接用HBase来存储大量的用户信息以及商品信息。于是,如何在HBase上对这些数据进行统计、分析、甚至是多表关联查询,已经成了学术界和工业界的研究热点。  本文主要研究如何在HBase数据库上进行复杂的多表SQL关联分析查询。本文研究了目前已有的开源系统,如Impala,Hive,Phoenix,并对他们的原理和性能做了充分的研究分析。我们发现目前已有的开源系统均不能很好的完成HBase上复杂查询的任务。在分析这些开源系统的优缺点之后,本文提出了一个基于Impala的复杂查询解决方案,该系统可以很好的完成HBase上复杂查询的功能,其性能领先于目前所有已知的HBase复杂查询解决方案或系统。  首先,我们重新设计了HBase与Impala的数据交互层,用Apache Thrift通信框架替换原有的JNI通信方式,解决了原来Impala中存在的JAVA GC问题,以及JNI方式不适合大量数据传输的问题。我们通过Thrift框架,设计了一个独立的数据传输引擎,为了便于表述,后文将该独立进程称为HBaseDataEngine。HBaseDataEngine负责从HBase获取数据,并最终返回给Impala。  其次,我们在用HBaseDataEngine传输数据时,使用了异步内存缓存,将传输时延降至了最低,并充分提高了数据传输的效率。不仅如此,通过这层缓存的设计,可以做到HBaseDataEngine和Impala拉取数据的速度同步。同时,在缓存的设计上,本文发明了一种动态自适应的缓存大小分配算法,在保证速度的前提下,可以动态调整缓存的大小,避免了因缓存太大造成对内存的浪费;同时也可以避免因缓存太小,对速度造成影响。  为了加快HBaseDataEngine从HBase获取数据的速度,我们设计了多路并发扫描。我们充分利用了HBase多分片(region)的特点,实现了多路并发查询扫描,解决了Impala单线程线性查询数据慢的问题。  最后,我们实现了丰富的谓词下推功能。我们做到了单表带有where查询的谓词下推和单表统计的谓词下推。为了完成谓词下推功能,我们设计了一套独立的编码解码规则,摒弃了Impala对HBase数据库的编码规则,在不影响性能的前提下,做到了单表查询的最优设计。  我们在TPC-DS标准测试基准上,选取了多条复杂查询语句进行测试。测试结果表明,与原来的Impala在HBase上的查询效率相比,我们的系统在查询效率上提高了5到10倍。与Phoenix相比,在复杂查询上效率提高了15%至100倍,具体来说,如果是大小表之间的关联查询,我们的系统相对Phoenix有15%到25%的提升,如果是大表之间的关联查询,性能有了100倍的提升。
其他文献
随着互联网应用的快速发展,网民对互联网应用使用有了广度和深度的提升。网络应用已经呈现出越来越多类别,致使网络流量剧增,占据了巨大的网络带宽,不利于高质量的服务,给网络运营
该文在比较几咱电子邮件系统的基础上,设计了一种基于Web的POP3电子邮件系统---WWWPOP.文中阐述了该系统的设计思想,分析和设计了系统结构,并重点讲述了相关的主要技术.
近年来,随着移动互联网的发展和移动智能终端的发展与普及,移动智能终端逐渐具有了更方便快捷的网络接入途径和更强大的计算能力,移动设备也出现于人们生活中的方方面面。然而在
信息化的快速发展,使得利用计算机来存储和传输的数据日益增多,同时数据安全问题也越来越严峻。特别是涉密网络中存储的涉密信息,一旦发生泄露,将对国家、政府和企事业部门造
伴随着互联网的持续迅猛发展,互联网用户和接入终端的数量仍处于持续上升阶段,互联网中流转的总数据量呈现着爆炸性增长态势,各类网络设备的处理能力面临巨大的挑战。网络设备处
随着视频编码标准的发展,其编码算法的复杂度持续提升,传统的单核处理器已经很难满足当前先进的视频编码技术对计算能力的要求。同时,随着集成电路制造技术进入纳米级,众核(Many-
随着信息大爆炸时代的到来,数字图书馆中电子书、图片、视频、音频等各类多媒体数字资源的数量日益庞大。为用户提供检索服务,让用户能够在海量的数字资源中找到感兴趣的内容
OpenFlow作为软件定义网络(SDN,Software Define Network)的南向接口之一,受到了业界的普遍认可。OpenFlow协议支持的匹配字段逐渐增多,存在可扩展性问题,无法支持未知协议。POF(
该文阐述了质检中心检验技术部计算机管理信息系统设计的全过程,重点介绍了系统设计和开发方法.系统利用面向对象的数据库管理软件Visual FoxPro 5.0提供的表单向导 来建立友
在当今社会中,ITIL已经成为服务管理流程的国际标准,很多企业都开始运用ITIL这个国际规范要求自己的服务管理流程体系,力争使自己公司的服务体系达到最理想的效果,运用现成的