Hbase要点简记

Hbase要点简记

Hbase

HBase是一个分布式的、列式的、实时查询的、非关系型数据库,可以处理PB级别的数据,吞吐量可以到的百万查询/每秒。主要应用于接口等实时数据应用需求,针对具体需求,设计高效率的数据查询接口。

1、底层架构

● Master:HBase 管理节点。管理 Region Server,分配 Region 到 Region Server,提供负载均衡能力;执行创建表等 DDL 操作。

● Region Server:HBase 数据节点。管理 Region,一个 Region Server 可包含多个 Region,Region 相当于表的分区。客户端可直接与 Region Server 通信,实现数据增删改查等 DML 操作。

● ZooKeeper:协调中心。负责 Master 选举,节点协调,存储 hbase:meta 等元数据。

● HDFS:底层存储系统。负责存储数据,Region 中的数据通过 HDFS 存储。

2、表逻辑结构

● RowKey(行键):行键是HBase记录条目的主键,物理存储时会按照RowKey的字典序排序存储,HBase基于RowKey实现索引;

● Column Family(列族):纵向切割,HBase中的每个列都归属于某个列族,列族不能改变,一行可有多个列族,一个列族可有任意个列;

● Column(列):一般都是从属于某个列族,跟列族不一样,这些列都可以动态添加。

注意:

● Key-Value(键值对):每一列存储的是一个键值对,Key是列名,Value是列值。通过{行键,列族名,列名}可以唯一确定一个列单元并获取数据Value,和关系型数据库不同的是,HBase中的数据是没有类型的,都是以bytes形式存储;

● Byte(数据类型):数据在HBase中以Byte存储,实际的数据类型交由用户转换;

如果HBase中的一张表只有一个列族的话,等于是这个列族包含了这张表的所有列,也就是将表整行的数据连续存储在了一起,就等于是行式存储了。如果一张表有多个列族,并且每个列族下仅有一列,也就是将表的列数据连续存储在了一起,就等于是列式存储了。

只有一个列族:

每个列族下仅有一列:

相关推荐
Mephisto.java12 小时前
【大数据学习 | kafka高级部分】kafka的kraft集群
大数据·sql·oracle·kafka·json·hbase
bigdata-余建新1 天前
HDFS和HBase跨集群数据迁移 源码
hadoop·hdfs·hbase
Mephisto.java1 天前
【大数据学习 | kafka高级部分】文件清除原理
大数据·hadoop·zookeeper·spark·kafka·hbase·flume
Mephisto.java2 天前
【大数据学习 | HBASE】habse的表结构
大数据·学习·hbase
Mephisto.java2 天前
【大数据学习 | HBASE】hbase的整体架构
大数据·sql·oracle·json·hbase·database
inori12562 天前
FlinkSql读取外部Mysql和HBase数据库的方法(scala)
mysql·flink·hbase
Francek Chen2 天前
【大数据技术基础 | 实验八】HBase实验:新建HBase表
大数据·数据库·hadoop·分布式·zookeeper·hbase
Mephisto.java2 天前
【大数据学习 | kafka】kafka的偏移量管理
大数据·sql·oracle·sqlite·json·hbase
Mephisto.java4 天前
【大数据学习 | kafka】kafka的数据存储结构
大数据·hadoop·sql·oracle·kafka·json·hbase
Mephisto.java7 天前
【大数据学习 | kafka】kafka的ack和一致性
大数据·hadoop·mysql·kafka·json·hbase