0
点赞
收藏
分享

微信扫一扫

HBase原理和架构

HBase是什么

 

HBase原理和架构_数据库

 

 

HBase在生态体系中的位置

HBase原理和架构_缓存_02

 

HBase vs HDFS

HBase原理和架构_数据库_03

 

HBase表的特点

HBase原理和架构_缓存_04

 

HBase是真正的分布式存储,存储级别达到TB级别,而才传统数据库就不是真正的分布式了,传统数据库在底层,虽然的存储能力很强,一旦达到上亿条数据。读取性能下降得很快。

传统数据库按行存储,如果列过多的话,一行数据会非常大,HBase按列簇存储,每个列簇都存储一个文件,如果只读取某一些字段的话,只需读取对应的文件就可以了,其他的不用扫描,节省了IO。

HBase的存储每一行的内容可以不同,空出来的列不占用空间。

 多版本,怎么理解呢,就比如说相同id的行重新插入数据不会覆盖掉,而是按照插入的时间戳分类。

行存储和列存储

HBase原理和架构_数据_05

 

 

02 HBase数据模型

HBase原理和架构_数据库_06

 

 HBase逻辑视图

HBase原理和架构_数据_07

 

 

Rowkey和Column Family

HBase原理和架构_缓存_08

 

 

HBase数据模型

HBase原理和架构_数据_09

HBase原理和架构_缓存_10

 

HBase支持的操作

HBase原理和架构_缓存_11

 

 

03 HBase物理模型

HBase原理和架构_缓存_12

 

传统数据库和HBase的存储的不同

HBase原理和架构_数据_13

HBase原理和架构_缓存_14

 

HBase原理和架构_数据库_15

 

物理存储

HBase原理和架构_数据库_16

 

 Table vs Region

 

HBase原理和架构_缓存_17

HBase原理和架构_数据库_18

HBase原理和架构_数据_19

 

04 HBase系统架构

架构图

HBase原理和架构_数据库_20

 

HBase基本组件

HBase原理和架构_数据_21

 

 

HBase工作流程

HBase原理和架构_数据_22

 

 

Hbase Write-Ahead-Log(预先写日志)

 HBase原理和架构_数据库_23

 

Regionserver结构

HBase原理和架构_数据库_24

 

 

HBase Compact && Split

HBase原理和架构_数据库_25

 

HLog Replay

HBase原理和架构_数据_26

 

 

Hfile存储格式

HBase原理和架构_缓存_27

 

Hfile存储格式(续)

HBase原理和架构_数据库_28

 

Keyvalue格式

HBase原理和架构_数据_29

 

Hlog存储格式

HBase原理和架构_数据_30

 

HLog存储格式(续)

HBase原理和架构_数据库_31

 

HBase高可用

HBase原理和架构_数据_32

HBase原理和架构_缓存_33

 

HBase容错性

HBase原理和架构_缓存_34

 

Region定位

HBase原理和架构_缓存_35

 

先访问zookeeper,找到root表的位置,root表记录了meta表的位置,在meta表里面查找对应的rowkey查找所在的region,并获取用户region的位置

 

-ROOT-和.META.表结构

HBase原理和架构_数据_36

 如果是root表,表名就是.meta。如果是meta表,表名就是用户的id 订单等等。

 

-ROOT-表和.META

HBase原理和架构_数据_37

 HBase原理和架构_数据_38

 

Hbase 读流程

HBase原理和架构_数据_39

 

 

Client客户端先找到zookeeper拿到meta表,meta表根据rowkey拿到相应的region信息,找到对应的regionsever

HBase原理和架构_缓存_40

 

1.memstore是写缓存,blockcache是读缓存。

2.读数据的时候先到写缓存memstore去读,这样能提高读的效率,当memstore没有了,才到读缓存blockcache读数据。如果上面两个缓存(属于内存)都没有的情况下,就到磁盘去读。

3.在读到磁盘的时候去查找相应的数据,在没找到之前把前面的hfile放到blockcache读缓存里面,因为blockcache的空间也是有限的,如果blockcache读满了还没有找到需要查询的数据,blockcache就会淘汰一部分数据。

 

 

 

HBase put写流程

HBase原理和架构_缓存_41

 

Hbase VS 关系型数据库

HBase原理和架构_数据_42

 

Hbase VS Hive

HBase原理和架构_数据_43

 HBase原理和架构_缓存_44

 

举报

相关推荐

0 条评论