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

只有一个列族:

每个列族下仅有一列:

相关推荐
2301_786964362 小时前
3、练习常用的HBase Shell命令+HBase 常用的Java API 及应用实例
java·大数据·数据库·分布式·hbase
霍金的微笑2 天前
HBase
大数据·数据库·hbase
SparkSql2 天前
HBase批量写入优化
大数据·数据库·hbase
goTsHgo2 天前
HBase 的二级索引和配置实现
大数据·数据库·hbase
我的K84094 天前
解决hbase和hadoop的log4j依赖冲突的警告
数据库·hadoop·hbase
goTsHgo5 天前
HBase 性能优化 详解
数据库·性能优化·hbase
goTsHgo5 天前
HBase 的 MemStore 详解
大数据·数据库·hbase
无奈ieq7 天前
HBase DML操作代码汇总(表格数据的CRUD操作)
大数据·数据库·hbase
吹老师个人app编程教学7 天前
hbase之布隆过滤器
大数据·数据库·hbase