CN105868370A - 读写分离的HBase入库装置及方法 - Google Patents
读写分离的HBase入库装置及方法 Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating 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逐渐成为业界广泛使用的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收到写入的数据进行保存。
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)
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)
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的数据存储方法和设备 |
-
2016
- 2016-03-31 CN CN201610194280.3A patent/CN105868370A/zh active Pending
Patent Citations (3)
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)
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 |