
前言
本文主要介绍HBase的适用场景、基本结构、特点等,便于读者快速理解“什么是HBase”。
01 HBase的适用场景
HBase和关系型数据库对比如下:

通过对比可以看到,HBase适用于面对海量数据时,没有较强的事务要求,查询比较简单的场景。
02 HBase的数据模型
举个例子,在MySql中现有两张表,表名分别是User和Location,表记录如下所示:
id | UserName | Age |
1 | 张三 | 20 |
2 | 李四 | 26 |
User表
id | Province | City |
1 | 浙江 | 杭州 |
2 | 江苏 | 南京 |
Location表
以上两张表在HBase中的逻辑存储如下:
行键(RowKey):每一行都以行键(Row Key)来进行唯一标识,行键可以是任意字符串。 列族(Colunm Family):是一些列的集合,列族支持动态扩展,无须预定义列的数量以及类型。 列标识(Column Qualifier):列族中的数据通过列标识来进行定位,通常以 Column Family:Colunm Qualifier 来确定列族中的某列。 时间戳(Timestamp):在默认情况下,每一个单元格插入数据时都会用时间戳来进行版本标识。 单元格(Cell):每一个行键、列族、列标识共同确定一个单元格,每个单元格保存着同一份数据的多个版本,不同时间版本的数据按照时间先后顺序排序,最新的数据排在最前面。

03 HBase的分区概念
04 HBase的架构

master节点为RegionServer分配Region 维护整个集群的负载均衡 维护集群的元数据信息 发现失效的Region,并将失效的Region分配到正常的RegionServer上 当RegionSever失效的时候,协调对应Hlog的拆分
管理master为其分配的Region 处理来自客户端的读写请求 负责和底层HDFS的交互,存储数据到HDFS 负责Region变大以后的拆分 负责Storefile的合并工作

技术24期:Hive常见的数据错位及修复技巧

技术23期:快速上手webAssembly【实践篇】

文章转载自普适极客,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




