数据存储-Hbase基础

Outline

  • 什么是Hbase
  • 为什么需要Hbase
  • Hbase的基础概念
  • Hbase的架构
  • Hbase的读写操作

什么是Hbase

HBase(Hadoop Database)是一种构建在HDFS之上的分布式、面向列(列族)的存储系统;源自Google发表于的Bigtable论文。HBase是Google Bigtable的克隆版,与Google Bigtable 利用GFS作为其文件存储系统类

  • HDFS为Hbase提供可靠的底层数据存储服务
  • MapReduce为Hbase提供高性能的计算能力
  • Zookeeper为Hbase提供稳定服务和Failover机制
    Hbase是一个通过大量廉价的机器解决海量数据的高速存储和读取的分布式数据库解决方案。

BigTable发明的原因

搜索是一种定位你所关心信息的行为


hbase_search

为什么需要Hbase?

hdfs和hbase各自使用场景

Hbase是Hadoop平台下的数据存储引擎,是一个非关系型数据库--NoSQL数据库


image

HDFS不支持随机读写操作

Hbase和关系型数据库的比较

hbase_vs_RDBMS
hbase_table

Hbase的特点

优点
  • 分布式数据库,海量存储,易于拓展
  • 数据的实时访问,随机读写
  • schemaless data model (“NoSQL”)
  • 自我管理数据分片
  • 强一致模型(当写操作返回时,所有的读将看到一样的结果)
缺点

不支持SQL,不支持跨行跨表事务,不支持二级索引,而且读时延大。它不能用在OLTP(On-Line Transaction Processing联机事务处理过程)业务,比如支付业务的核心流程,但适合存放历史数据,处理历史数据的对账、历史数据的回溯等需求。

Hbase表的基础概念

hbase_concept
概念名称 解释
Table(表) 类似于传统数据库中的表
Column Family(列簇) Table在水平方向有一个或者多个Column
Row Key(行健) Table的主键;Table中的记录按照Row Key排序
Region 一定范围的数据访问和存储;HBase数据管理的基本单位
Timestamp(时间戳) 每一行数据均对应一个时间戳;也可以当做版本号。

Hbase的架构和基本概念

Hbase是由Client、Zookeeper、Master、HRegionServer、HDFS等几个组建组成,架构图如下:


hbase_arch
基本概念
概念 功能
Client 包含了访问Hbase的接口,并维护cache
Zookeeper Hmaster的高可用、RegionServer的监控、元数据的入口以及集群配置的维护等
Hmaster Hmaster的高可用、RegionServer的监控、元数据的入口以及集群配置的维护等
Hlog 每个HRegionServer中都会有一个HLog的实例,存储在HDFS上
HregionServer HregionServer直接对接用户的读写请求,是真正的“干活”的节点,每个RegionServer为一定数量的region服务
Hregion Hbase中分布式存储和负载均衡的最小单元,会split,包含多个Store
Store Store = MemStore+StoreFile(>=1个)
MemStore 内存,对应一个列族,KV
StoreFile StoreFile包含一个或多个HFile,以二进制流的形式存储在HDFS上
HFile block组成
HDFS 为Hbase提供最终的底层数据存储服务,同时为Hbase提供高可用的支持

HFile由很多个数据块(Block)组成,并且有一个固定的结尾块。其中的数据块是由一个Header和多个Key-Value的键值对组成。在结尾的数据块中包含了数据相关的索引信息,系统也是通过结尾的索引信息找到HFile中的数据。

Hbase的存储机制

Hbase的读写操作

Hbase写操作
image

HBase写数据流程
1,Client先访问zookeeper,从meta表获取相应region信息,然后找到meta表的数据
2,根据namespace、表名和rowkey根据meta表的数据找到写入数据对应的Hregion信息
3,找到对应的regionserver
4,把数据分别写到HLog和MemStore上一份
4,MemStore达到一个阈值后则把数据刷成一个StoreFile文件。(若MemStore中的数据有丢失,则可以总HLog上恢复)
5,当多个StoreFile文件达到一定的大小后,会触发Compact合并操作,合并为一个StoreFile,(这里同时进行版本的合并和数据删除。)
6,当Storefile大小超过一定阈值后,会把当前的Region分割为两个(Split),并由Hmaster分配到相应的HRegionServer,实现负载均衡

Hlog

Hlog是Hbase实现WAL(Write ahead log,预写日志)方式产生的日志信息
当RegionServer出现故障的时候,需要对Hlog进行回放来恢复数据。
保证数据的高可用!!

Hbase读操作

1,Client先访问zookeeper,从meta表读取region的位置,然后读取meta表中的数据。meta中又存储了用户表的region信息。
2,根据namespace、表名和rowkey在meta表中找到对应的region信息
3,找到这个region对应的regionserver
4,查找对应的region
5,先从MemStore找数据,如果没有,再到StoreFile上读(为了读取的效率)。

谁在使用Hbase
hbase_who_use

参考资料

Hbase技术详细学习笔记
《HBase实战》
Hadoop相关知识整理系列之一:HBase基本架构及原理

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,186评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,858评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,620评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,888评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,009评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,149评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,204评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,956评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,385评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,698评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,863评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,544评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,185评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,899评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,141评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,684评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,750评论 2 351

推荐阅读更多精彩内容

  • 1,无知付出的惨痛的代价 时至今日,我依然无法介怀,依然心痛不已。 当8个月前带孩子去医院补牙的照片映入眼帘时,我...
    峮子说阅读 2,651评论 2 1
  • 玛雅印记的每一个图腾都不仅仅有一层面的含义,每一个印记都给了挑战,同时赋予你解决的钥匙~ 感觉和占星不同,占星的每...
    李瑆点点星光阅读 863评论 0 1
  • 刚才看了好几遍二姐发的才看明白二姐说的。我自然而然的想成少承担一点了。我受了太多的宠爱,所以养成了不承担的习惯。我...
    焦子老师阅读 110评论 0 1