学习记录11 Hadoop生态圈技术栈(九)

程序员 2024-9-24 16:06:58 151 0 来自 中国
今天接着上面的HBASE往下看
回顾一下,Hbase是什么?
其实就是一个非关系型的数据库,能够支持超大规模的数据的实时读写。(可以看出很强大)
在储存机制上与传统MySQL的不同,HBASE不存储空字段,玩的是列存储,特点就是容量多。
HBASE的应用场景也非常多,凡是海量明细数据且后期还要查询的,都很适合HBASE。
HBASE的组成结构
主要有4个部分组成,每个部分都有特定的功能。

  • zookeeper:主要就是监控用的,(谁让这老哥监控能力强呢),此外保留了一些元数据(数据的数据)信息,是HBASE表的寻址入口(我愿称之为指路人)。
  • Master:主要就是起个维护作用,每个系统都得有个纪律委员。给RegionServer分配Region
  • RegionServer: 这个就是用来管理Region的,接受客户端的读写请求。
  • Region:最小的小弟了,由多个Store(数据表的一个截面)组成。
HBASE更加深入一些的操作

HBase读数据的流程
第一步:先找到指路人zookeeper,在zookeeper中找到数据表的region的位置,然后开始从meta表里读取对应的region信息。(注意,这里面都是数据的数据,其实就是数据的储存位置信息,知道了信息再去表里面找)
第二步:根据客户需要的表名、namespace、rowkey信息来找到region的位置信息。
第三步:先找到这个region的RegionServer,也就是他的管理员,向管理员发送请求。
第四步:请求同意后就可以进去找region了。
第五步:如果说这里面没有,那就要从BlockCache里面找了。
因为HBASE上的内存是有两个的,一个是memstore,也就是我们上面说的,另一个就是这个BlockCache了。
第六步:如果这BC里面还没有,就去StoreFile。(如果这里还没有,你就得考虑你是不是压根没这玩意)
Hbase写数据的流程
前三步和读数据是一样的,第四步就不同了,不过也就是正常写数据。这里强调读写数据的功能,应该还是像说一下这个Hbase的机理,是先找元数据(数据的信息),再根据元数据去找真实数据。
HBase的刷写和合并
这个倒是没啥好说的,只要知道,这个是出于对数据的保护来制作的就可以了,具体遇到的时候,大概学习一下就可以。
今天有些晚了,明天开始学习Redis的知识。
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-11-23 19:30, Processed in 0.157341 second(s), 33 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表