千家信息网

好程序员大数据学习路线Hbase总结

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,好程序员大数据学习路线Hbase总结,为什么有hbase随着数据的逐渐增大,传统的关系型数据库无法满足对数据的查询和存储,而hive不是数据库,只是数据仓库,虽然能够满足简单的存储要求,但是始终无法满
千家信息网最后更新 2026年11月02日好程序员大数据学习路线Hbase总结

好程序员大数据学习路线Hbase总结,为什么有hbase

  随着数据的逐渐增大,传统的关系型数据库无法满足对数据的查询和存储,而hive不是数据库,只是数据仓库,虽然能够满足简单的存储要求,但是始终无法满足对非结构化和半结构化的数据的存储和查询

2hbase是什么

  Hbase是阿帕奇旗下的一款开源的,多版本的,可扩展的非关系型数据库。

  他是基于谷歌的bigtable的基础上,建立在hdfs上的一款提供高 可靠性的,高性能的列式存储,可伸缩,实时读写的nosql的数据库系统

3适用场景

海量数据存储

随机实时读写和管理数据

4特点

列式存储

模式:无模式(不需要use gp1808,就可以直接创建表了,所以导致hbase中的表是不可以重名的)

数据类型:单一的byte[]

多版本(version):每个值都可以有多个版本

稀疏存储:如果kv为null,则不占用存储空间

5结构框架

Client:

  hbase的客户端,包含访问的hbase的接口(linux shell ,java api)

维护一些cache(缓存)来加速hbase的速度,比如region的位置信息

Zookeeper:


监控hmaster的状态,保证有且只有一个active的hmaster,达到高可用

存储所有的region的寻址入口,

实时监控hregionserver的状态,将regionserrver的上下线信息实时通知给hmaster

存储hbase的所有表的信息(hbase的元数据)

Hmster(hbase的老大)

为regionserver分配region(新建表)

负责regionserver的负载均衡

负责region的重新分配(处理hregionserver异常,hregion裂变)

Hdfs上的垃圾文件回收

处理schema的更新请求

Hregionserver(hbase的小弟)

维护老大给他的region(管理本机上的region)

处理client对region的IO请求,并和hdfs交互

Regionserver负责切分在运行过程中变大的region

Hregion:

Hbase中分布式的存储和负载的最小单元,表或者是表的一部分

  (在HBase中数据按主键排序,同时表按主键划分为多个Region

Region按大小分割的,随着数据增多,Region不断增大,当增大到一个阀值的Region就会分成两个新的Region)

  Region虽然是分布式存储的最小单元,但并不是存储的最小单元。每个Region包含着多个Store对象。每个Store包含一个MemStore或若干StoreFile,StoreFile包含一个或多个HFile。MemStore存放在内存中,StoreFile存储在HDFS上。

Hlog;

对hbase的操作进行记录,使用wal(Write-Ahead-Log)写数据,优先写入log,然后再写入memstore,以防数据丢失时可以进行日志回滚回复数据

Store:

相当于一个列簇。

Memstore:128M

内存缓冲区,用于将数据批量刷新到hdfs上

Hstorefile(hfile)

Hbase中的数据是以hfile的形式存储到hdfs上


写流程:

1client通过zookeeper的调度,向regionserver发出写数据请求,在region中写数据

2数据被写入region的memstore,直达memstore达到预设的阈值(128M)

3memstore中的数据被flush成一个storefile

4随着storefile文件的不断增多,当其数量增长到一定阈值的时候,触发了compact合并操作,将多个storefile合并成一个storefile,同时进行版本合并和数据删除

5storefiles通过不断的compact合并操作,逐渐形成越来越大的storefile

6单个storefile大小超过一定阈值之后,触发spilt操作,把当前的region切分成2个新的region,父region会下线,新切出的2个字region会被hmaster分配到相应的regionserver上,使得原先的一个region的压力的以分配到2个region上

读流程:

1client访问zookeeper,查找root表,获取meta表的信息

2从meta表中查找,获取存放的目标的region信息,从而找到对应的regionserver

3通过regionserver获取需要查询的数据

4regionserver的内存分为memstore和blockcache两部分,memstore主要用于写数据,blockcache主要用于读数据,请求先到memstore中查数据,查不到就在blockcache在查,再查不到就会到storefile上读,并把读的结果放入blockcache

寻址过程:client-->Zookeeper-->-ROOT-表-->.META.表-->RegionServer-->Region-->client


Rowkey:行键,和mysql的主键一样,不允许重复,按照字典顺序排列

Columnfamily:列簇

Column:列

Timestamp:时间戳,默认显示最新的时间戳

Version:版本号,记录数据的版本

Cell:单元格,一个key 一个value


数据 存储 版本 信息 多个 单元 实时 数据库 分配 最小 不断 内存 结构 阈值 处理 查询 下线 分布式 同时 大小 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技公司 西安纸贵互联网科技有限公司 美国互联网保险保险科技 互联网最新的科技有限公司 互联网科技的 壕鑫互联网络科技 互联网科技公司做什么 济南和联互联网科技有限公司 上海电发互联网科技有限公司 茂名市互联网科技产业园 厦门比较好的科技互联网公司 河南猎农互联网科技有限公司 辽宁互联网新科技 威龙国际互联网科技公司 爱医互联网络科技 富国互联网科技002692 35岁以上互联网科技行业 互联网科技包装股 宁波跨境商互联网科技有限公司 北京天晋互联网科技有限公司 广州大一互联网络科技有限公司 卓越科技(互联网 ) 鑫亿盛互联网科技 善班互联网科技有限公司 深圳艾佳互联网科技 大白互联网科技 创业天下互联网科技有限公司 崇明区互联网教育科技诚信经营 沐思想互联网科技有限公司 济南小医互联网科技有限公司招聘
0