hbase架构原理

架构原理

1、  每个region由一个RegionServer负责,一个RegionServer负责多个region

2、  StandbyHMaster 是HMaster的一个备份,如果HMaster宕掉,Standby HMaster会变成HMaster

3、  主节点服务管理RegionServer   HMaster功能:

协调数据库元数据(例如:表)变化

监控RegionServer的负载均衡

失败RegionServer重启

分配region到RegionServer

存储和管理regions

处理读取/写入请求

当region过多时,自动分割regions

表操作直接和客户端连接

4、  Region:

HBase表被分割为多个region

每个region包含多行数据

Region包含region名字,开始rowkey和结束(按rowkey排序)

5、  HBase数据模型

(1)行健(rowkey):

     行键是字节数组, 任何字符串都可以作为行键;

      表中的行根据行键进行排序,数据按照Row key的字节序(byte order)排序存储;

      所有对表的访问都要通过行键 (单个RowKey访问,或RowKey范围访问,或全表扫描)

每一个列簇存储在一个或对个文件

(2)列簇(Column key string=family:qualifier)

CF必须在表定义时给出

      每个CF可以有一个或多个列成员(ColumnQualifier),列成员不需要在表定义时给出,新的列族成员可以随后按需、动态加入

数据按ColumnFamily分开存储.,HBase所谓的列式存储就是根据ColumnFamily分开存储(每一个ColumnFamily对应一个Store),这种设计非常适合于数据分析情形.

(3)时间戳(TimeStame)

     每个Cell有多个版本,它们用时间戳区分.

(4)单元格(Cell)

              Cell由行键,列族,时间戳唯一确定

      Cell中的数据是没有类型的全部以字节码的形式贮存.

(5)区域(region)

          HBase自动把表水平(按RowKey)分成若干个区域(Region),每个Region会保存表里一段连续的数据.

      刚开始表里只有一个Region,随着数据的不断插入表,随着Region的不断增大,当到了每个阀值的时候,Region自动等分成两个新的Region.

      当table中的行不断增多,就会有越来越多的region,这样一张表就被保存在多个Region上.

      HRegion是HBase中分布式存储和负载均衡的最小单位,最小单元表示不同的HRegion可以分布在不同的HRegionServer上,但是一个Region不会拆分到多个Server上.

6、   定位一个cell的数据

表名——>列簇名——>行健——>列标识符——>时间戳

7、   HBase读取数据

Meta原始数据——>表名——>行健——>列标识符——>时间戳

8、   HBase写入数据

9、   HBase RowKey设计

HBase是根据Rowkey来进行检索的,系统通过找到某个Rowkey所在的Region,然后将查询数据的请求路由到该Region获取数据

10、 HBase的检索支持3种方式

(1)   通过单个Rowkey访问,即按照某个Rowkey键值进行get操作,这样获取唯一一条记录

(2)  即通过设置startRowKey和endRowKey,在这个范围内进行扫描。这样可以按指定的条件获取一批记录;

(3)  全表扫描,即直接扫描整张表中所有行记录

11、 Rowkey设计原则

Rowkey长度设计原则:16字节内

Rowkey散列原则:

Rowkey唯一原则

12、 HBase模式设计(表设计)

HBase没有join概念

HBase Rowkey设计非常重要

HBase列簇在1~2个

13、 HBase模式设计实例

 

Student

Rowkey

Column family

info

course

Student_id(反转)

info:name

info:gender

info:age

course:c1

course:c2

…..

course

Rowkey

列簇(column family)

 

info:nane

info:introduction

info:teacher

student

Course_id(反转)

 

 

 

Cell

猜你喜欢

转载自blog.csdn.net/abc_321a/article/details/53183504
今日推荐