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

只有一个列族:

每个列族下仅有一列:

相关推荐
march of Time4 天前
hbase mongodb hive starrocks比较
hive·mongodb·hbase
万叶学编程4 天前
HBase 开发:使用Java操作HBase
java·数据库·hbase
Apache IoTDB6 天前
替换OpenTSDB和HBase,宝武集团使用IoTDB助力钢铁设备智能运维
运维·数据库·hbase·时序数据库·iotdb·opentsdb
bigdata-余建新6 天前
HBase压测 ycsb
数据库·python·hbase
罗亚方舟6 天前
统计HBase表记录条数的方法
大数据·数据库·hbase
小C哈哈哈6 天前
大数据技术之HBase中的HRegion
大数据·数据仓库·hadoop·hdfs·hbase·mapreduce·database
Mephisto.java6 天前
【大数据学习 | HBASE高级】hbase的参数优化
大数据·sql·oracle·sqlite·json·hbase·database
Mephisto.java7 天前
【大数据学习 | HBASE高级】hbase-phoenix 与二次索引应用
大数据·sql·oracle·sqlite·json·hbase
Matrix708 天前
HBase理论_HBase架构组件介绍
大数据·数据库·hbase
不太灵光的程序员8 天前
【HBase分布式数据库】第七章 数据的导入导出 importtsv导入数据
数据库·分布式·hbase