天下事有难易乎?为之,则难者亦易矣;不为,则易者亦难矣。

简议Hbase架构设计和分析

itzoo 4298次浏览 0个评论

HBase是Hadoop生态圈中的一员,Nosql数据库,能够对大数据提供随机、实时读写访问。他是开源的,分布式的,多版本的,面向列的,存储模型。

Hbase架构

  • Hbase体系架构

HBase Master是服务器负责管理所有的HRegion服务器,HBase Master并不存储HBase服务器的任何数据,HBase逻辑上的表可能会划分为多个HRegion,然后存储在HRegion Server群中,HBase Master Server中存储的是从数据到HRegion Server的映射。

一台机器只能运行一个HRegion服务器,数据的操作会记录在Hlog中,在读取数据时候,HRegion会先访问Hmemcache缓存,如果缓存中没有数据才回到Hstore中上找,每一个列都会有一个Hstore集合,每个Hstore集合包含了很多具体的HstoreFile文件,这些文件是B树结构的,方便快速读取。

  • HBase数据模型
RowKey Timestamp Column Family
URI Parser
r1 t3 url=http://www.taobao.com title=天天特价
t2 host=taobao.com
t1
r2 t5 url=http://www.alibaba.com content=每天…
t4 host=alibaba.com
  • Rowkey:是byte array,它决定一行的数据,最多只能存储64位字节的数据,它是表中每天记录的主键,为了方便快速查询,按字典排序,Rowkey的设计非常重要,在满足业务前提下,rowkey越短越好,节省空间
  • Column Family:列族,拥有一个名称(string),包含一个或者多个列,权限的控制,存储和调优都是在列族层面进行的
  • Column:属于某一个columnfamily,FamilyName:columnname,每条记录可以动态添加
  • Version Number:类型为Long,默认值是系统时间戳,可由用户自定义
  • Value(Cell):btye array 单元格 一个单元格有(rowkey,列族:列,version)来确定唯一的单元格,Cell中数据没有数据类型,都是字节类型储存

ITZOO版权所有丨如未注明 , 均为原创丨转载请注明来自IT乐园 ->简议Hbase架构设计和分析
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址