HBase二级索引方法及装置制造方法

文档序号:6620499阅读:273来源:国知局
HBase二级索引方法及装置制造方法【专利摘要】一种分布式计算数据库HBase二级索引方法,包括:设置索引说明;根据索引说明,创建HBase用户表的二级索引表。本申请的技术方案对于HBase用户表建立二级索引,给用户的查找提供方便。【专利说明】HBase二级索引方法及装置【
技术领域
】[0001]本发明涉及大数据软件分布式计算数据库(HBase,HadoopDatabase),具体涉及HBase的二级索引方法及装置。【
背景技术
】[0002]大数据(Bigdata)通常用来形容一个公司创造的大量非结构化数据和半结构化数据,这些数据在下载到关系型数据库用于分析时会花费过多时间和金钱。大数据分析常和云计算联系到一起,因为实时的大型数据集分析需要像MapReduce(映射归约)、HBase-样的框架来向数十、数百或甚至数千的电脑分配工作。大数据分析相比于传统的数据仓库应用,具有数据量大、查询分析复杂等特点。大数据需要特殊的技术,以有效地处理大量的容忍经过时间内的数据。适用于大数据的技术,包括大规模并行处理(MPP)数据库、数据挖掘电网、分布式文件系统、分布式数据库、云计算平台、互联网和可扩展的存储系统。[0003]HBase是一个分布式的、面向列的开源数据库,该技术来源于FayChang所撰写的Google论文"Bigtable:-个结构化数据的分布式存储系统"。就像Bigtable利用了Google文件系统(FileSystem)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase是基于列的而不是基于行的模式。[0004]HBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PCServer上搭建起大规模结构化存储集群。[0005]与YonghongZ-DataMart等商用大数据产品不同,HBase是GoogleBigtable的开源实现,类似GoogleBigtable利用GFS作为其文件存储系统,HBase利用HadoopHDFS作为其文件存储系统;Google运行MapReduce来处理Bigtable中的海量数据,HBase同样利用HadoopMapReduce来处理HBase中的海量数据;GoogleBigtable利用Chubby作为协同服务,HBase利用Zookeeper作为对应。[0006]Hbase是按rowkey(行键值)排序,value(值)是不能排序的,如果想在rowkey之外构建索引,则需要构建二级甚至多级索引,HBase之前的版本并未支持二级索引,但是很多应用场合需要使用二级索引。故要引入二级索引。【
发明内容】[0007]为了解决上述技术问题,本发明提供了分布式计算数据库HBase二级索引方法和装置,能够按照用户表的列族排序,给用户查找提供方便。[0008]-种分布式计算数据库HBase二级索引方法,所述方法包括:[0009]设置索引说明;[0010]根据索引说明,创建HBase用户表的二级索引表。[0011]优选地,所述索引说明包括二级索引表的格式、键值、排序方式。[0012]优选地,所述用户表与二级索引表--对应;所创建的二级索引表存储在对应的用户表所在的区域服务器上。[0013]优选地,该方法还包括,根据用户的请求建立浏览器,在二级索引表中扫描数值,向用户反馈。[0014]优选地,所述二级索引表按照用户表的列族(columnFamily)排序。[0015]一种分布式计算数据库HBase二级索引装置,该装置包括:[0016]设置模块,用于设置索引说明;[0017]索引协处理器,用于读取所述索引说明,创建HBase用户表的二级索引表。[0018]优选地,所述索引说明包括二级索引表的格式、键值、排序方式。[0019]优选地,所述用户表与二级索引表一一对应;[0020]所述索引协处理器还用于将所创建的二级索引表存储在对应的用户表所在的区域服务器上。[0021]优选地,所述索引协处理器还用于根据用户的请求建立浏览器,所述浏览器用于在二级索引表中扫描数值,向用户反馈。[0022]优选地,所述索引协处理器由HBase协处理器coprocessors实现。[0023]本申请技术方案包括:一种分布式计算数据库HBase二级索引方法,所述方法包括:设置索引说明;根据索引说明,创建HBase用户表的二级索引表。本申请的技术方案对于HBase用户表建立二级索引,二级索引表能够按照用户表的列族排序,使得HBase用户表中原本不能直接查找的值,可以直接进行查找,给用户查找提供方便。特别地,对于Tautus平台的应用提供了实现的具体方案。【专利附图】【附图说明】[0024]此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:[0025]图1是本发明实施例二级索引的架构图;[0026]图2是本发明实施例二级索引工作原理示意图;[0027]图3是本发明实施例二级索引方法流程图;[0028]图4是本发明实施例二级索引装置示意图。【具体实施方式】[0029]本发明实施例的主要思想是:针对HBase建立用户表的二级索引,二级索引的索引项对用户表的rowkey的value排序,从而方便根据value对用户表进行查找。每张用户表对应一个二级索引表,且存储时用户表与对应的二级索引表存储在相同的区域服务器上,避免了跨区索引。本发明能够提升查找速度,给用户更好的体验。[0030]下面结合附图及具体实施例对本发明进行详细说明。[0031]本发明使用HBase的协处理器(coprocessors)来实现二级索引。如图1所示,HBase架构包括Η主机、多个区域服务器和多个HBase客户端,其中,Η主机和区域服务器都配置有相应的协处理器主机,Η主机还设置了平衡器以进行负载均衡。客户端应用程序通过外部客户端连接HBase客户端,进行业务操作请求。[0032]按照现有技术,如果用户需要查找用户表的某值,只能按照某个rowkey遍历用户表来进行,费时费力,用户等待时间过长,也可能由于用户表过大而无法反馈,用户体验很差。[0033]本发明实施例增加了索引协处理器,用来对用户表建立二级索引,当需要对于用户表的某一列(Column)建立二级索引时,使用coprocessors中的Put操作,将该列组的相应信息建立到一张二级索引表中。[0034]HBase二级索引完全使用与coprocessors结合的服务器端的方式实现,coprocessers的作用是将索引数据存储到二级索引表上。[0035]二级索引建立的过程智能感知区域(Region),并且有可定制的加载均衡,可将用户表和对应的二级索引表放在同一个区域服务器上,如附图2所示。当客户端请求建立用户表R1的二级索引时,索引协处理器在用户表R1所在的区域服务器1上建立对应的二级索引表R1,同样,对于用户表R2,索引协处理器感知其位于区域服务器2上,所以在区域服务器2上建立对应的二级索引表R2。[0036]在建立二级索引表时,服务器端读取设置的二级索引表创建时的索引说明,来创建二级索引表。一张用户表只有一个对应的二级索引表,并且一张用户表的所有索引信息都会存储到对应的二级索引表之中。例如:表1所示的原始用户表,包括rowkey和值如下:[0037][0038]表1【权利要求】1.一种分布式计算数据库HBase二级索引方法,其特征在于,所述方法包括:设置索引说明;根据索引说明,创建HBase用户表的二级索引表。2.如权利要求1所述的方法,其特征在于,所述索引说明包括二级索引表的格式、键值、排序方式。3.如权利要求1所述的方法,其特征在于,所述用户表与二级索引表对应;所创建的二级索引表存储在对应的用户表所在的区域服务器上。4.如权利要求1所述的方法,其特征在于,该方法还包括,根据用户的请求建立浏览器,在二级索引表中扫描数值,向用户反馈。5.如权利要求1所述的方法,其特征在于,所述二级索引表按照用户表的列族(columnFamily)排序。6.-种分布式计算数据库HBase二级索引装置,其特征在于,该装置包括:设置模块,用于设置索引说明;索引协处理器,用于读取所述索引说明,创建HBase用户表的二级索引表。7.如权利要求6所述的装置,其特征在于,所述索引说明包括二级索引表的格式、键值、排序方式。8.如权利要求6所述的装置,其特征在于,所述用户表与二级索引表对应;所述索引协处理器还用于将所创建的二级索引表存储在对应的用户表所在的区域服务器上。9.如权利要求6所述的装置,其特征在于,所述索引协处理器还用于根据用户的请求建立浏览器,所述浏览器用于在二级索引表中扫描数值,向用户反馈。10.如权利要求6所述的装置,其特征在于,所述索引协处理器由HBase协处理器coprocessors实现。【文档编号】G06F17/30GK104112013SQ201410342561【公开日】2014年10月22日申请日期:2014年7月17日优先权日:2014年7月17日【发明者】王斌,吴楠申请人:浪潮(北京)电子信息产业有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1