[发明专利]HBase数据持久和查询方法及HBase系统有效
| 申请号: | 201410211658.7 | 申请日: | 2014-05-19 |
| 公开(公告)号: | CN103955538B | 公开(公告)日: | 2017-05-24 |
| 发明(设计)人: | 李国刚;涂振印;许念;费永军 | 申请(专利权)人: | 上海携程商务有限公司 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30 |
| 代理公司: | 上海弼兴律师事务所31283 | 代理人: | 薛琦,王聪 |
| 地址: | 200335 上海市*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | hbase 数据 持久 查询 方法 系统 | ||
技术领域
本发明涉及一种HBase数据持久和查询方法及HBase系统。
背景技术
HBase为随机读写Key-value(键-值)数据库。在随机读、写上HBase具有非常好的性能。但是一些业务场景中,很多时候需要连续读写。例如,基于时间序列、基于价格排序等等。在这样的场景中现有HBase通常有两种做法但都很难满足海量数据的快速写入和实时查询。
(1)满足实时顺序查询,但不满足快速海量写入。
按照某种序列连续写,例如按照时间序列,连续设计连续rowkey(行键),写入HBase数据库。这样写在数据量小的时候或许会有很好的读写性能,如果是数据量非常大,那么HBase就很容易出现热点问题,即某台regionserver(HBase集群运行在每个工作节点上的服务)挂掉,然后热点转移到另一台regionserver,然后被转移的regionserver挂掉,这样连续传导,直到整个集群挂掉,出现HBase不可用。
(2)满足快速海量写入,但不满足实时顺序查询。
按照某种现有Hash(哈希)算法,把短时间内出现的连续序列rowkey,分散到多台regionserver写。由于这里做了Hash分布,那么在读取时,必须合并多路Hash的region(域)。显然读取需要大量的检索,需要大量网络I/O(输入/输出)并占用大量的内存来合并这些值。这对于需要实时响应的查询是不可取的。即使是离线业务,也很难忍受。
发明内容
本发明要解决的技术问题是为了克服现有技术的HBase的数据海量写入和实时查询无法共存的缺陷,采用一种HBase数据持久和查询方法及HBase系统,通过Schema信息为HBase提供高效地读写能力。
本发明是通过下述技术方案来解决上述技术问题的:
本发明提供了一种HBase数据持久方法,其特点是,所述HBase数据持久方法包括以下步骤:
接收输入的HBase数据表的Schema信息;
接收输入数据并解析出待写入数据;
基于所述HBase数据表的Schema信息,解析所述待写入数据,并得到HBase数据表的rowkey,table name,families,colmuns以及index表;
将解析得到的HBase数据表和所述HBase数据表的Schema信息写入HBase数据库;
其中所述Schema信息包括table name,families,columns,main table rowkey生成规则,index rowkey生成规则,index columns。
其中所述数据持久一般就是指将内存中的数据模型转换为存储模型,以及将存储模型转换为内存中的数据模型的统称。
所述Schema信息是现有技术常用地一种用于表征用户所创建的对象(包括表,索引,存储过程等)的集合,其属于数据库对象管理的范畴,所以此处不再对其原理和内容进行说明。
此外Schema信息中包含的table name,families,columns,main table rowkey生成规则,index rowkey生成规则,index columns就是上述用户所创建的对象(包括表,索引,存储过程等),而且在现有的数据库技术中上述对象均是常用地对象内容,所以此处同样不再对上述对象的内容和原理进行解释说明。
本发明正是充分利用Schema信息来为HBase的数据表进行定义,进而实现快速海量写入,同时利用Schema信息生成的数据表与该Schema之间的关联性,也为数据的实时查询提供便捷地查询方式和接口。
较佳地,从网页获取所述HBase数据表的Schema信息和所述输入数据。本发明中利用网页作为数据输入源,从而实现数据的便捷输入和设置。
优选地,所述网页显示于一客户端。
本发明还提供了一种HBase数据查询方法,其特点是,所述HBase数据查询方法包括以下步骤:
使用如上所述的HBase数据持久方法对HBase数据库进行写操作;
接收输入查询数据并解析出有效地SQL语句;
从所述SQL语句中提取Schema Name和查询信息并以List<Map>结构组成查询对象;
通过查询对象从HBase数据库中获取对应于Schema Name的Schema信息;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海携程商务有限公司,未经上海携程商务有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410211658.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:高压便携式喷雾机
- 下一篇:一种纳米改质铸件的制备方法
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置





