大数据hbase

HBase是一款基于HDFS的分布式列式数据库,适用于存储PB级别的大规模数据。其特点是适合高并发读写,数据按列族组织,允许稀疏存储。HBase架构包含HMaster和RegionServer,具有自动分片和负载均衡能力。数据读取和写入涉及Zookeeper、HLog和MemStore,确保数据一致性和可用性。HBase支持多种操作,如单行、区域和全表扫描,以及表的创建、删除、更新和查询。
摘要由CSDN通过智能技术生成

hbase是基于hdfs的面向列的非关系型数据库
hbase中的存储都是以字节形式存储,它的rowkey会按照字节顺序排序,并添加索引
hbase会按照row的数量自动切割成regiog,保持负载均衡

存储形式

在这里插入图片描述
传统数据库中若某字段的数据为null是占用空间的二hbase是不会占用空间的

Hbase特点

*Hbase适合存储PB级别的海量数据,在PB级别的数据以及采用廉价PC存储的情况下,能在几十到百毫秒内返回数据。这与Hbase的极易扩展性息息相关。正是因为Hbase良好的扩展性,才为海量数据的存储提供了便利。
*Hbase是根据列族来存储数据的。列族下面可以有非常多的列,列族在创建表的时候就必须指定。
*hbase通过横向添加RegionSever的机器,进行水平扩展,提升Hbase上层的处理能力,提升Hbsae服务更多Region的能力。
*由于目前大部分使用Hbase的架构,都是采用的廉价PC,因此单个IO的延迟其实并不小,一般在几十到上百ms之间。这里说的高并发,主要是在高并发的情况下平均下来,Hbase的单个IO延迟下降并不多。能获得高并发、低延迟的服务。
*hbase稀疏主要是针对Hbase列的灵活性,在列族中,你可以指定任意多的列,在列数据为空的情况下,是不会占用存储空间的。

HBase架构

在这里插入图片描述

HBase中的角色

HMaster
1.监控RegionServer
2.处理RegionServer故障转移
3.处理元数据的变更
4.处理region的分配或转移
5.在空闲时间进行数据的负载均衡
6.通过Zookeeper发布元数据的位置给客户端

RegionServer
1.负责存储HBase的实际数据
2.处理分配给它的Region
3.刷新缓存到HDFS
4.维护Hlog(每个regionserver都有一个Hlog)
5.执行压缩
6.负责处理Region分片(自动分片)

Hbase设计原则

唯一性原则:必须在设计上保证它的唯一性,由于在hbase中数据存储是k/v形式若hbase中的同一表插入相同rowkey,则原先的数据会被覆盖掉
排序原则:hbase的rowkey是按照阿斯克码设计的,若与时间有关,使用时间log作为rowkey的前缀
散列原则:不能都集中在一个regionServer上,应该分布在各个节点上,前缀加上[a][b][c]
越短越好:长度不能超过64kb,太长了影响Hfile的存储效率,缓存mateStore不能存放太多东西

访问table的方式

1通过单个rowkey访问
2通过rowkey的region访问
3全表扫描

读数据流程

在这里插入图片描述
1client先zookeeper发送请求获取mate表所在的regionServer
2返回mate表所在的regionServer
3读取mate表,查询rowkey所在region的regionServer
4返回region所在的re

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值