Hbase体系结构之一

Hbase为nosql,适用于Hbase的场景如下:

 

1.数据量大,千万级以上
2.对数据访问实时性要求没有RDBMS高,如离线运算为主

 

 Hbase的特点如下:

 

1 高可靠性
2 高效性
3 面向列
4 可伸缩
5 可在廉价PC Server搭建大规模结构化存储集群

 Hbase在Hadoop Ecosystem中的位置如下图:

Hbase体系结构之一

访问HBase的接口:

 

Native Java API    最常规和高效 
HBase Shell      最简单接口 HBase管理使用
Thrift Gateway   利用Thrift序列化支持多种语言 
Rest Gateway    解除语言限制 Rest风格Http API访问
Pig         Pig Latin六十编程语言处理数据
Hive                       sql方式

 

 

 

HBase 数据模型:

 

 

row key                   Timestamp  Family:name	Family:age          
www.someabcd.com           date1      大杂烩	             1
                           date2      IT大杂烩	             1
                           date3      IT技术门户	     1
 

 

几个重要概念:

 

rowkey:
行key,为索引列,按此值字典顺序排序,因此在存储的时候要为访问做准备

Famliy:
列簇,一个table在水平方向有一个或者多个列簇,列簇可由任意多个Column组成,列簇支持动态扩展,无须预定义数量及类型,二进制存储,用户需自行进行类型转换

Timestamp:     
每次对数据操作对应的时间戳,也即数据的version number

 两张特殊的表:

 

.META.       记录用户表的Region信息,同时,.META.也可以有多个region
-ROOT-	   记录.META.表的Region信息,但是,-ROOT-只有一个region,在zookeeper上被感知

 Table和Region关系:

 

1. Table随着记录增多不断变大,会自动分裂成多份Splits,成为Regions
2. 一个region由[startkey,endkey)表示
3. 不同region会被Master分配给相应的RegionServer进行管理
备注:其对应关系在.META.上记录

你可能感兴趣的:(hbase)