赞
踩
大数据技术原理与应用学习笔记(一)
大数据技术原理与应用学习笔记(二)
大数据技术原理与应用学习笔记(三)
HBase是一个高可靠、高性能、面向列、可伸缩的分布式数据库,是谷歌BigTable的开源实现,主要用来存储非结构化和半结构化的松散数据。HBase的目标是处理非常庞大的表,可以通过水平扩展的方式,利用廉价计算机集群处理由超过10亿行数据和数百万列元素组成的数据表 。
数据类型: 字符串
数据操作: 只采用单表主键查询
存储模式: 基于列存储(关系数据库采用基于行存储)
数据索引: 只有一个索引——行键
数据维护: 仍会保留旧版本(关系数据库中不会)
可伸缩性: 非常好
如表所示
项目 | BigTable | HBase |
---|---|---|
文件存储系统 | GFS | HDFS |
海量数据处理 | MapReduce | Hadoop MapReduce |
协同服务管理 | Chubby | ZooKeeper |
HBase数据模型的相关概念如下:
在HBase中,数据定位可视为“四维坐标”,即[“行键”,“列族”,“列限定符”,“时间戳”]。
在HBase的概念视图中,HBase中的每个表都是由许多行组成的,而在物理层,数据都是基于列的存储方式。
面向行存储: 优点是每次插入数据时都把其各项信息添加入数据库,缺点是分析特性时大部分都是以列为特征分析,因此不得不扫描全部行,影响性能。
面向列存储: 优点是每列存储的内容相似或相同,因此可获得很高的压缩率。
库函数:链接到每个客户端;
一个Master主服务器,负责管理和维护HBase表的分区信息;
多个Region服务器,负责存储维护分配给自己的Region。
Master服务器的功能:
层次 | 名称 | 作用 |
---|---|---|
第一层 | ZooKeeper文件 | 记录了-ROOT-表的位置信息 |
第二层 | -ROOT-表 | 记录了.META.表只能有一个Region。通过-ROOT-表就可以访问.META.表中的数据 |
第三层 | .META.表 | 记录了用户数据表的Region位置信息,.META.表可以有多个Region,保存了HBase中所有用户数据表的Region位置信息 |
有关寻址的计算:
例:设.META.表一行在内存占1KB,每个Region128MB,则:
一个-ROOT-表寻址 128MB/1KB = 217 个.META.表的Region。
一个.META.表寻址 128MB/1KB = 217 个Region。
共寻址234个Region。
注:为了加速寻址,客户端会缓存位置信息,同时采用惰性机制1解决缓存失效问题。
HBase的系统架构如图所示:
客户端: 为了加快访问速度,包含了了访问HBase的接口。对于管理类操作,客户端与Master进行RPC;对于读写类操作,客户端会与Region服务器进行RPC。
ZooKeeper 服务器: 实现协同管理服务,提供管家功能2。大量用于分布式系统,提供配置维护,域名服务,分布式同步服务。
Master(主服务器): 主服务器主要负责表和Region的管理工作。
Region 服务器:
Region服务器是HBase中最核心的模块。
一个Region Server包含10~100个Region,共用一个HLog。一个Region对应多个Store,一个Store包含一个MemStore(在内存中的缓存,用来保存更新数据)和若干的StoreFile(通过HDFS的HFile实现)。其工作原理如下:
读写数据过程: 先写入MemStore和HLog,当操作写入HLog后,commit()才会将其返回给客户端。RegionServer访问 MemStore,若不在,才回到HDFS的HFile中找。
缓存刷新过程: 系统周期性将MemStore中内容刷到StoreFile中,清空缓存,在HLog中添加标记,每次刷新生成一个新StoreFile,每个Region Server启动都会检查HLog,确认最近一次刷新后是否还有更新,若有,则先写入Memstore,再刷到StoreFile,最后删除旧HLog,启动服务。
StoreFile的合并: 当StoreFile数量达到一定阈值时才合并,当再次达到一定阈值又会执行Region的分裂。
用户更新数据必须首先记入日志才能写入MemStore缓存,并直到MemStore缓存内容对应的日志记入磁盘后,该缓存内容才会被刷入到磁盘。
ZooKeeper监控每个Region Server状态,当某个Region Server故障时:
时间靠近的数据存在一起,按照降序排列。
而且可用SQL语句查HBase;
Hive和Phonenix;
HBase的二级索引;
HBase的编程实践请参考厦大数据库博客:HBase2.2.2安装和编程实践指南
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。