Hbase初识

本文介绍了Hbase的基本概念,包括列族、region等,并详细阐述了其部署架构,强调了Hbase的分片策略是基于rowkey。在读写操作上,分析了读操作的3跳过程,指出写操作与Cassandra类似。最后,总结了Hbase与Cassandra在读写上的异同。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简介

数据模型相关数据库典型应用优势劣势
key-valueRedis缓存快速查询存储数据缺乏结构化
列族Cassandra,Hbase分布式的文件系统,大规模的数据存储易于分布式扩展功能受限
documentMongo,CouchDB易用可扩展性差
Neo4J社交网络利用图结构相关算法不易扩展

从NoSQL分类来说,Hbase和Cassandra是一类数据库,都是列族数据类型。

关于hbae和cassandra的对比可以看下为什么国内流行hbase,国外反而多用cassandra?,这里不再赘述。

名词介绍

表,行这些都是同关系型数据库一致

列族

列族顾名思义就是列的组合,wide-column这种数据类型都是根据BigTable模型实现的,它是一个稀疏的、多维结构映射。实际存储,就是列族的数据存储在一起,而不是像关系型数据库那样,一行存在一起。所以列族是需要提前定义的。

key-value,wide-column,json几种数据类型对比NoSQL概述-从Mongo和Cassandra谈谈NoSQL

region

region就是range partition,一组row key的范围组合。region是自动分裂的。一般大小是1GB-2GB,超过配置的大小,就进行分裂。

部署架构

Hbase的部署架构比较复杂。对于一个分布式数据库,集群架构一般有三个角色:路由节点、配置信息节点、分片数据节点。
有些数据库将这些功能都集成到同一个节点,这样的话扩容比较简单,单点比较少。如果拆分成不同节点话,部署起来就比较麻烦,扩容的话也比较麻烦,每个部分都有可能需要去扩容,好处是职责隔离,不会因为耦合造成整个节点的故障。以下是HBase的集群部署架构

Hbase Master

Hbase是AP型分布式数据库,Master-Slave模式。Master负责管理所有的RegsionServer,也就是上面所说的配置信息节点这个角色。
记录了数据块HRegions属于哪个Region Server。当RegionServer增加或者下线时,需要进行HRegion的重新分配。一般为了可用性,Master节点个数要大于1,避免单点故障。

Region Server
Region Server负责数据的读写,数据存放在内存中,持续化需要和HDFS文件系统进行I/O交互。HBase是列族数据库,列的数据是存放在一起的,不同的行按照row key分布,存储在不同的Region Server中。

一般来说,扩容主要是扩容Region Server,因为主要是Region Server负责数据的读写。

Zookeeper
管理HMaster的信息

HDFS DataNode

数据的存储与备份。将数据存储在HDFS的一个显而易见的好处时,当集群Region Server发生变化时,增加或者减少时,不需要在节点间进行数据的复制,这大大减少了节点的上下线时间,和I/O消耗。

分片

Hbase的分片策略很简单,就是根据rowkey来分片,每个Region Server负责一组rowkey.

数据存储与维护

数据存储和Cassandra类似,先写log和内存,内存memstore也是LSM树,然后在flush到磁盘中,HFile,存储在HDFS中。

当HFile超过一定大小后,进行数据的分离。

读写分析

读操作

读操作一般在Hbase里面叫3跳,涉及到Hbase集群的3个角色。

Meta table
HRegion的metadata信息都存储在.META表中,Region增加减少,这个信息都会更改。

Root table
Root table是用来记录META表信息的,存储在ZK中。

Hbase的读一般需要三跳

非常繁琐,所以路由信息一般cache到client,减少client与Hbase各个节点之间的交互。

写操作

没什么复杂的,和cassandra类似,不再赘述

总结

Hbase的集群部署架构模式和Mongo类似,多角色方式。所以读取数据的3跳也比较类似。单节点写入的话和Cassandra类似。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

方丈的寺院

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值