CN105868370A - 读写分离的HBase入库装置及方法 - Google Patents

读写分离的HBase入库装置及方法 Download PDF

Info

Publication number
CN105868370A
CN105868370A CN201610194280.3A CN201610194280A CN105868370A CN 105868370 A CN105868370 A CN 105868370A CN 201610194280 A CN201610194280 A CN 201610194280A CN 105868370 A CN105868370 A CN 105868370A
Authority
CN
China
Prior art keywords
readregionserver
hbase
read
writeregionserver
write
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201610194280.3A
Other languages
English (en)
Inventor
王勇强
赵智峰
周帅锋
曹俊亮
崔博
李佳宁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Fiberhome Software Technology Co Ltd
Original Assignee
Nanjing Fiberhome Software Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing Fiberhome Software Technology Co Ltd filed Critical Nanjing Fiberhome Software Technology Co Ltd
Priority to CN201610194280.3A priority Critical patent/CN105868370A/zh
Publication of CN105868370A publication Critical patent/CN105868370A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems

Abstract

本发明涉及数据处理技术领域,尤其涉及一种读写分离的HBase入库装置及方法,读写分离的HBase入库装置,包括regionServer,regionServer包括WriteRegionServer和ReadRegionServer,读写分离的HBase入库装置还包括HBase元数据表,HBase元数据表用于记录region的主副本所在的WriteRegionServer的地址和region的备份副本所在的ReadRegionServer的地址。本发明将regionServer分成了WriteRegionServer和ReadRegionServer,WriteRegionServer负责写操作,ReadRegionServer负责读操作,通过读写分离实现了HBase的实时入库,且入库效率较高,同时还支持流式数据源。

Description

读写分离的HBase入库装置及方法
技术领域
本发明涉及数据处理技术领域,尤其涉及一种读写分离的HBase入库装置及方法。
背景技术
随着大数据技术的发展和应用,HBase逐渐成为业界广泛使用的NoSQL分布式存储系统,它具有高可靠、面向列、开源等特点,已被Facebook、阿里巴巴等公司成功用于生产系统。
目前HBase对外提供两种数据写入方式:
1)批量加载
如图3所示,批量加载依赖于MapReduce框架,运行MapReduce任务,以待入库的数据为输入,将输入数据转换为HFile,存储在HDFS上,再由HBase提供的bulkLoad接口将HFile移动到HBase数据目录下,该方式适合加载大量的离线数据,但是时延大。
2)利用HBase的put接口
如图4所示,入库程序从数据源中获取数据,构造HBase可识别的put结构,调用HBase对外提供的put接口,将数据加载到HBase中。regionServer收到put请求后,会先将数据写到内存中,当内存中的数据超过一定大小或数据被写入内存超过一定时间,regionServer会将内存中的数据写出到文件系统中,形成HFile文件。
现有入库方案的主要问题有:
批量加载需要依赖于MapReduce框架,MapReduce任务比较耗费资源,影响其它进程的稳定运行,无法直接对流式数据入库,只能以固定的文件作为加载任务的输入。由于批量加载需要依赖MapReduce框架,因此数据入库的时延较大,实时性不好。
利用HBase的put接口实时入库程序会持续的对HBase集群进行写操作(put),占用大量资源(如CPU),读操作(get、scan)的性能会受到严重影响。其中,region有主副本和备份副本,HBase的regionServer集群随机选择管理哪个主副本和备份副本,读写未分离。
发明内容
本发明的目的是克服现有技术存在的缺陷,提供高效的实时入库方案,同时保证实时入库运行时,不影响其它进程正常稳定的运行。
实现本发明目的的技术方案是:读写分离的HBase入库装置,包括regionServer,regionServer包括WriteRegionServer和ReadRegionServer,读写分离的HBase入库装置还包括HBase元数据表,HBase元数据表用于记录region的主副本所在的WriteRegionServer的地址和region的备份副本所在的ReadRegionServer的地址,
HBaseClient从HBase元数据表中获取读取请求所对应的region所在的ReadRegionServer的地址,然后将读取请求发送给对应的ReadRegionServer,ReadRegionServer接收到读取请求后,从HDFS和ReadRegionServer的内存中读取相应的数据返回给HBaseClient;
HBaseClient从HBase元数据表中获取写入请求所对应的region所在的WriteRegionServer的地址,将写入请求发送给对应的WriteRegionServer,WriteRegionServer收到写入的数据进行保存。
实现本发明目的的技术方案是:利用读写分离的HBase入库装置进行入库的方法,包括如下步骤:
1)首先HBaseClient判断发送的请求类型;
2)如果是读取请求,HBaseClient从HBase元数据表中获取读取请求所对应的region所在的ReadRegionServer的地址,然后将读取请求发送给对应的ReadRegionServer,ReadRegionServer接收到读取请求后,从HDFS和ReadRegionServer内存中读取相应的数据返回给HBaseClient;
3)如果是写入请求,HBaseClient从HBase元数据表中获取写入请求所对应的region所在的WriteRegionServer的地址,将写入请求发送给对应的WriteRegionServer,WriteRegionServer收到写入的数据进行保存。
本发明具有积极的效果:本发明将regionServer分成了WriteRegionServer和ReadRegionServer,WriteRegionServer负责写操作,ReadRegionServer负责读操作,通过读写分离实现了HBase的实时入库,且入库效率较高,同时还支持流式数据源。
附图说明
为了使本发明的内容更容易被清楚地理解,下面根据具体实施例并结合附图,对本发明作进一步详细的说明,其中:
图1是本发明的原理框图;
图2是发起读写请求的流程图;
图3是本发明现有技术的原理图;
图4是本发明现有技术的原理图。
具体实施方式
如图1所示,本发明公开了一种读写分离的HBase入库装置,包括regionServer,regionServer包括WriteRegionServer和ReadRegionServer,读写分离的HBase入库装置还包括HBase元数据表,HBase元数据表用于记录region的主副本所在的WriteRegionServer的地址和region的备份副本所在的ReadRegionServer的地址,
HBaseClient从HBase元数据表中获取读取请求所对应的region所在的ReadRegionServer的地址,然后将读取请求发送给对应的ReadRegionServer,ReadRegionServer接收到读取请求后,从HDFS和ReadRegionServer的内存中读取相应的数据返回给HBaseClient;
HBaseClient从HBase元数据表中获取写入请求所对应的region所在的WriteRegionServer的地址,将写入请求发送给对应的WriteRegionServer,WriteRegionServer收到写入的数据进行保存。
其中,HBase的一个region可以有region的主副本和region的备份副本,其中region的主副本接收写入请求,region的备份副本只能接收读取请求。WriteRegionServer只服务于region的主副本,只接收写操作;ReadRegionServer只服务于region的备份副本,只接收读操作。具体可以通过增加regionServer属性标识,用以标记regionServer是WriteRegionServer还是写ReadRegionServer。
发起读写请求的流程如图2所示,首先HBaseClient发起读取请求或者写入请求,然后HBaseClient判断请求的类型,如果是写入请求,HBaseClient从HBase元数据表中获取写入请求所对应的region所在的WriteRegionServer的地址,然后将写入请求发送给对应的WriteRegionServer,等待响应;如果是读取请求,HBaseClient从HBase元数据表中获取读取请求所对应的region所在的ReadRegionServer的地址,然后将读取请求发送给对应的ReadRegionServer,等待响应。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (2)

1.读写分离的HBase入库装置,包括regionServer,其特征在于:所述的regionServer包括WriteRegionServer和ReadRegionServer,所述的读写分离的HBase入库装置还包括HBase元数据表,所述的HBase元数据表用于记录region的主副本所在的WriteRegionServer的地址和region的备份副本所在的ReadRegionServer的地址,
HBaseClient从HBase元数据表中获取读取请求所对应的region所在的ReadRegionServer的地址,然后将读取请求发送给对应的ReadRegionServer,ReadRegionServer接收到读取请求后,从HDFS和ReadRegionServer的内存中读取相应的数据返回给HBaseClient;
HBaseClient从HBase元数据表中获取写入请求所对应的region所在的WriteRegionServer的地址,将写入请求发送给对应的WriteRegionServer,WriteRegionServer收到写入的数据进行保存。
2.利用权利要求1所述读写分离的HBase入库装置进行入库的方法,其特征在于:包括如下步骤:
1)首先HBaseClient判断发送的请求类型;
2)如果是读取请求,HBaseClient从HBase元数据表中获取读取请求所对应的region所在的ReadRegionServer的地址,然后将读取请求发送给对应的ReadRegionServer,ReadRegionServer接收到读取请求后,从HDFS和ReadRegionServer内存中读取相应的数据返回给HBaseClient;
3)如果是写入请求,HBaseClient从HBase元数据表中获取写入请求所对应的region所在的WriteRegionServer的地址,将写入请求发送给对应的WriteRegionServer,WriteRegionServer收到写入的数据进行保存。
CN201610194280.3A 2016-03-31 2016-03-31 读写分离的HBase入库装置及方法 Pending CN105868370A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610194280.3A CN105868370A (zh) 2016-03-31 2016-03-31 读写分离的HBase入库装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610194280.3A CN105868370A (zh) 2016-03-31 2016-03-31 读写分离的HBase入库装置及方法

Publications (1)

Publication Number Publication Date
CN105868370A true CN105868370A (zh) 2016-08-17

Family

ID=56626589

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610194280.3A Pending CN105868370A (zh) 2016-03-31 2016-03-31 读写分离的HBase入库装置及方法

Country Status (1)

Country Link
CN (1) CN105868370A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107894942A (zh) * 2017-12-04 2018-04-10 北京小度信息科技有限公司 数据表访问量的监控方法和装置
CN113591143A (zh) * 2021-07-07 2021-11-02 四川新网银行股份有限公司 一种限制客户端IP读写HBase表的控制方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102622427A (zh) * 2012-02-27 2012-08-01 杭州闪亮科技有限公司 读写分离数据库的方法及系统
CN104504145A (zh) * 2015-01-05 2015-04-08 浪潮(北京)电子信息产业有限公司 一种实现数据库读写分离的方法和设备
CN104750757A (zh) * 2013-12-31 2015-07-01 中国移动通信集团公司 一种基于HBase的数据存储方法和设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102622427A (zh) * 2012-02-27 2012-08-01 杭州闪亮科技有限公司 读写分离数据库的方法及系统
CN104750757A (zh) * 2013-12-31 2015-07-01 中国移动通信集团公司 一种基于HBase的数据存储方法和设备
CN104504145A (zh) * 2015-01-05 2015-04-08 浪潮(北京)电子信息产业有限公司 一种实现数据库读写分离的方法和设备

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107894942A (zh) * 2017-12-04 2018-04-10 北京小度信息科技有限公司 数据表访问量的监控方法和装置
CN107894942B (zh) * 2017-12-04 2020-06-02 北京星选科技有限公司 数据表访问量的监控方法和装置
CN113591143A (zh) * 2021-07-07 2021-11-02 四川新网银行股份有限公司 一种限制客户端IP读写HBase表的控制方法

Similar Documents

Publication Publication Date Title
CN107180113B (zh) 一种大数据检索平台
KR20160124794A (ko) Dram 결함들의 커널 마스킹
WO2017028394A1 (zh) 一种基于实例的分布式数据恢复方法和装置
US9703821B2 (en) Database auditing for bulk operations
US9836516B2 (en) Parallel scanners for log based replication
CN102142032B (zh) 一种分布式文件系统的数据读写方法及系统
CN103049533A (zh) 一种快速向数据库加载数据的方法
KR101584760B1 (ko) 순서 모드 저널링 파일 시스템을 위한 블록 그룹 단위 저널링 방법 및 장치
CN104881466A (zh) 数据分片的处理以及垃圾文件的删除方法和装置
WO2018006723A1 (zh) 一种针对数据库的数据修改请求处理方法及装置
CN105468297A (zh) 一种云存储系统内主从设备数据快速同步的方法
US9304946B2 (en) Hardware-base accelerator for managing copy-on-write of multi-level caches utilizing block copy-on-write differential update table
CN114579055B (zh) 磁盘存储方法、装置、设备及介质
CN105302869A (zh) 一种HBase二级索引查询和存储系统及其查询方法
CN105868370A (zh) 读写分离的HBase入库装置及方法
CN105205162A (zh) HBase二级索引存储和查询系统及其查询方法
CN110489392B (zh) 多租户间的数据访问方法、装置、系统、存储介质及设备
CN103092955B (zh) 检查点操作方法、装置及系统
CN102385624A (zh) 一种面向分布式文件系统的日志数据组织的方法
CN105893521A (zh) 一种读写分离的HBase入库方法
CN105871987A (zh) 数据写入的高可用系统及方法
US11561924B2 (en) Information processing device and non-transitory computer-readable storage medium for storing reception processing program
CN111221814A (zh) 二级索引的构建方法、装置及设备
US10372607B2 (en) Systems and methods for improving the efficiency of point-in-time representations of databases
US20160156525A1 (en) Dynamic conversion of hardware resources of a server system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20160817

RJ01 Rejection of invention patent application after publication