首页 > 代码库 > hbase原理

hbase原理

1.hbase利用hdfs作为其文件存储系统,利用mapreduce来处理数据,利用zookeeper作为协调工具

2.行键(row key),类似于主键,但row key是表自带的

3.列族(column family) ,列(也称作标签/修饰符)的集合,定义表的时候指定的,列是在插入记录的时候动态增加的

hbase表中的数据,每个列族单独一个文件

4.timestamp 是列的一个属性,行和列确定的元素,含有多个数据,每个数据含有时间戳

5.存储的数据都是字节数组型的,

6.数据是按照row key的asc码值进行物理存储,不同于,mysql按照插入的顺序物理存储


物理

1.habase表中的记录,是按照row key拆分成一个个的region

许多region存放在各个region server中,实现并行查询

2.region大小的设置:在源代码中hbase-default.xml,修改hbase.hregion.max.filesize,默认10G


体系结构

1.hbase是主从式结构,HMaster / HRegionServer,允许有多个hmaster存在,但同一时间只有一个hmaster在运作,其他都是备胎

2.启动了HMaster之后,通过zookeeper的master election机制保证总有一个master运行

3.hmaster的作用:为region server 分配region; 负责region server的负载均衡 ;发现失效的region server并重新分配其上的region

4.hRegionServer的作用:维护region,处理这些region的请求; 切分在运行中变得过大的region


其他:

通过row key的开始和结束就可以确定一个region(数据是按照row key 的吗码值大小存的)

..META.表:记录了表的region信息

-ROOT-表:记录了-ROOT-表的region信息

-ROOT-只有一个region


hbase原理