HBase概述
HBase是一个高可靠、高性能、面向列、可伸缩的分布式存储系统,利用Hbase技术可在廉价的PC Server上搭建大规模结构化存储集群。
HBase是Google Bigtable的开源实现,与Google的 Bigtable利用GFS作为其文件存储系统类似,HBase 利用 Hadoop的 HDFS 作为其文件存储系统;Google 运行 MapReduce 来处理Bigtable 中的海量数据,HBase 同样利用 Hadoop 的MapReduce 来处理 HBase中的海量数据;Google Bigtable利用Chubby作为协同服务,而HBase利用Zookeeper作为协同服务。
HBase的特点
与传统数据库相比,HBase 具有很多与众不同的特性:
容量巨大
无模式
面向列
稀疏性
扩展性
高可靠性
高性能
HBase逻辑模型
HBase数据模型的核心概念
表
HBase 是一种列式存储的分布式数据库,其核心概念是表(Table)。与传统关系型数据库一样,HBase 的表也是由行和列组成,但 HBase 同一列可以存储不同时刻的值,同时多个列可以组成一个列簇(Column Family),这种组织形式主要是出于存取性能的考虑。
行健
Rowkey 既是 HBase 表的行键,也是 HBase 表的主键。HBase 表中的记录是按照Rowkey的字典顺序进行存储的。
列簇
HBase表中的每个列都归属于某个列簇,一个列簇中的所有列成员有着相同的前缀。一般将经常一起查询的列放在一个列簇中,合理划分列簇将减少查询时加载到缓存的数据,提高查询效率,但也不能有太多的列簇,因为跨列簇访问是非常低效的。
单元格
HBase中通过Row和Column确定的一个存储单元称为单元格(Cell)。每个单元格都保存着同一份数据的多个版本,不同时间版本的数据按照时间顺序倒序排序,最新时间的数据排在最前面,时间戳是 64 位的整数,可以由客户端再写入数据时赋值,也可以由RegionServer自动赋值。
列簇存储模型
Region划分
Region负载均衡
Region组成结构
HBase架构设计
下节课我们将进行HBase的高可用部署......
领取专属 10元无门槛券
私享最新 技术干货