前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >HBase简答题(持续更新)

HBase简答题(持续更新)

作者头像
大数据梦想家
发布2021-01-26 10:55:00
6960
发布2021-01-26 10:55:00
举报
文章被收录于专栏:大数据成长之路

1.HBase的基本介绍

a.Hbase是建立在hdfs之上的一个数据库, b.不支持join等SQL复杂操作 c.支持的数据类型:byte[], d.依靠横向扩展,一个表可以有上十亿行,上百万列。 e.面向列(族)的存储和权限控制 f.对于为空(null)的列,并不占用存储空间,是一个稀疏表。

2.HBASE的适用场景

海量数据、精确查询、快速返回 海量数据:指的是数据量的背景 精确查询:业务场景 快速返回:是业务对时效性的要求

3.Hbase和HDFS之间的关系

HDFS: 海量数据存储,适合一次性扫描大量数据。 适合一次写入多次读取 不适合频繁更新的数据

HBase: 适用一次扫描少量数据。 适合多次写入多次读取 支持数据更新 支持删除数据

4.Hbase与RDBMS的关系

RDBM: 支持SQL查询 支持事务 支持Join

HBASE: 不支持SQL查询 不支持事务 不支持Join

5. Hbase详细架构

Client: 访问数据的入口,包含访问hbase的API接口,维护着一些cache来加快对hbase的访问

Zookeeper: 1.zookeeper的选举机制保证任何时候,集群中只有一个master 2.实时监控Region Server的状态,将Region server的上线和下线信息实时通知给Master 3.存储Hbase的schema 4 存贮所有Region的寻址入口

Master: 1.为Region server分配region 2.负责region server的负载均衡 3.发现失效的region server并重新分配其上的region 4.处理schema(元数据)更新请求 说明:Hmaster短时间下线,hbase集群依然可用,长时间不行。 Region server: 1.Region server维护Master分配给它的region,处理对这些region的IO请求 2.Region server负责切分在运行过程中变得过大的region

6. Row Key

最大长度是 64KB,完全可以自行设计。Hbase会对表中的数据按照rowkey排序(字典序)

7.列族Column Family

列族是表的schema的一部分,而列不是。(schema包含表名和列族) 每个列都所属于某一个列族。一个列族可以包含多个列。一个列族与列的关系是一对多。

8.时间戳

标记一个数据的不同版本,时间戳可以由hbase(在数据写入时自动 )赋值,hbase支持工程师自己定义时间戳。每个 cell中,不同版本的数据按照时间倒序排序

9.hbase本身提供数据回收机制

1.保存数据的最后n个版本 2.保存最近一段时间内的版本

10. Cell

存储数据的最小单位,由{row key, column( = + ), version} 唯一确定的单,确定一个精确的数据

11.VersionNum

数据的版本号,默认值为系统时间戳。

12. hbase物理存储

1.一个regionserver内部可以有多个region,这多个region可能来自多个表或一个表。一个region只能属于一个 regionserver. 2.一个regionserver只有一个HLog 3.一个region里面可以有多个store 4.一个store里面只有一个memstore

13.region的切分

region按大小分割的(默认10G)。每个表一开始只有一个region,随着数据的增加,一个region逐渐变大,达到 10G,进行分裂,等分成两个region.

14. Memstore与storefile

一个region由多个store组成,每个store包含一个列族的所有数据 Store包括位于内存的memstore和位于硬盘的 storefile 客户端检索数据时,先在memstore找,找不到再找storefile

15.HLog(WAL log)

每个Region Server维护一个Hlog,而不是每个Region一个.

Hlog的切分机制 1.当数据写入hlog以后,hbase发生异常。关闭当前的hlog文件 2.当日志的大小达到HDFS数据块的0.95倍的时候,关闭当前日志,生成新的日志 3.每隔一小时生成一个新的日志文件

16.读请求过程

meta表是hbase系统自带的一个表。里面存储了hbase用户表的元信息。 元信息为meta表内记录一行数据是用户表一个region的start key 到endkey的范围。 meta表存储在regionserver里。 具体存储在哪个regionserver里?zookeeper知道。

过程: 1.客户端到zookeeper询问meta表在哪 2.客户端到meta所在的节点(regionserver)读取meta表的数据 3.客户端找到region 获取region和regionserver的对应关系,直接到regionserver读取region数据

17.HBase的特征:

1、 海量存储 Hbase适合存储PB级别的海量数据,在几十到百毫秒内返回数据。 2、列式存储 这里的列式存储其实说的是列族存储,列族理论上可以很多,但实际上建议不要超过6个 3、 极易扩展 处理能力(RegionServer)的扩展,个是基于存储的扩展(HDFS) hbase在最初设计的时候就考虑了扩展性。 4、高并发 这里说的高并发,主要是在并发的情况下,Hbase的单个IO延迟下降并不多 5、稀疏 在列数据为空的情况下,是不会占用存储空间的。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/12/16 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.HBase的基本介绍
  • 2.HBASE的适用场景
  • 3.Hbase和HDFS之间的关系
  • 4.Hbase与RDBMS的关系
  • 5. Hbase详细架构
  • 6. Row Key
  • 7.列族Column Family
  • 8.时间戳
  • 9.hbase本身提供数据回收机制
  • 10. Cell
  • 11.VersionNum
  • 12. hbase物理存储
  • 13.region的切分
  • 14. Memstore与storefile
  • 15.HLog(WAL log)
  • 16.读请求过程
  • 17.HBase的特征:
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档