HBase是一个类似Bigtable的分布式数据库,大部分特性和Bigtable一样;
是一个稀疏的、长期存储的(存在硬盘上)、多维度的排序映射表;
表的索引是行关键字、列关键字和时间戳;
表中的每个值是一个纯字符数组,数据都是字符串,没有类型;
用户在表格中存储数据,每一行都有一个可排序的主键和任意多的列。
HBase把同一个family中的数据存储在同一个目录下,而HBase的写操作是锁行的,每一行都是一个原子元素,都可以加锁,所有数据库的更新都有一个时间戳标记。
Hbase体系结构
主要依靠由HRegion、HMaster、HClient组成的体系结构从整体上管理数据。
HBase体系结构有三大重要组成部分:
HBaseMaster:HBase主服务器,与Bigtable的主服务器类似。
通过领导选举算法(Leader Election Algorithm)确保只有唯一的主服务器是活跃的,ZooKeeper保存主服务器的服务器地址信息。
负责集群中域的分配、域服务器运行状态的监视、表格的管理等工作。HRegionServer:HBase域服务器,与Bigtable的Tablet服务器类似。
主要职责有服务于主服务器分配的域、处理客户端的读写请求、本地缓冲区回写、本地数据压缩和分割域等功能。
HBase Client:HBase客户端是由org.apache.hadoop.HBase.client.HTable定义的。
HBase客户端负责查找用户域所在的域服务器地址。HBase客户端会与HBase主机交换消息以查找根域的位置,这是两者之间唯一的交流。
原文链接:Hadoop学习笔记(2)--Hbase,转载请注明来源!