HBase 原理_3 | 学习笔记

简介: 快速学习 HBase 原理_3

开发者学堂课程【HBase 入门教程HBase 原理_3】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/397/detail/5063


HBase 原理_3


内容介绍

一、HBase 数据模型

二、HBase 体系框架

三、HBase 存储模型


一、HBase 数据模型

Cell 单元格

由行和列的坐标交叉决定;

单元格是有版本的;

单元格的内容是未解析的字节数组;

{row key,column(=+),versnon}唯一确定的单元。cell 中的数据是没有类型的,全部是字节码形式存贮。

+两个结合起来才说明属性的列,versnon 在对应着版本

通过这些结合起来,才能唯一确定了一个单元格

单元格里面能够存贮的是未解析的字节数组,不管是电源、图片、音乐等类型,只要转换为数组都可以进行分装。

image.png

com.cnn.ww”对应的是一行数据

有三个单元格(CF2:q1=val3,CF3:q4=val4,CF1:q2=val2,),但是不同的单元格对应的版本也不相同,所以就有 t6t5t3三个版本。

HLog(WAL log)

HLog(WAL log)主要是记录日志。HLog 与之前的 log 文件有些区别:平时的 log 记录各项操作;HLog 除了会记录各项操作还会记录数据(如果在 HBase 里面插入一条数据,它不止记录了这项操作,连同将插入的数据“data”记录下来)。

HLog(WAL log)的作用:做容灾(灾备)

容灾:解决出现的意外问题,比如 namelog 容灾的手段。如果发现一些灾难性的问题,想要把磁盘彻底烧掉,就需要做一些容灾。

HLog 可以做一些高格。数据丢失可以通过HLog来恢复。

HLog 文件就是一个普通的 Hadoop Sequence File,Sequence File Key HLogKey 对象,HLogKey 中记录了写入数据的归属信息,除了 table region 名字外,同时还包括 sequence number timestamp,timestamp 是“写入时间”,sequence number 的起始值为0,或者是最近一次存入文件系统中 sequence number

Hadoop Sequence File 的 Value HBase KeyValue 对象,即对应 HFile 中的 KeyValue


二、HBase 体系框架

image.png

左上角 Client 是购物单,Zookeeper HBase 的作用不仅仅是高格用途,可以存贮元数据。HMaster 相当于对我们整个 Region server 进行管理。

一个局情里面有多个 Region server;一个 Region server 有多个 Region ;一个 Region 有多个 Store Store 分为了一个 MomStore、多个 StoreFile MomStore 是内存缓存区,一些数据会先在 MomStore 里面进行存储,当内存缓存区写满之后就会进行一写,一写会生成 StoreFile StoreFile 下面有 HFileStoreFile HFile 指的是同一种东西, HFile HBase 的存储机制-站的角度不同,名字就不同(如果站在 HFile 的角度就叫做 StoreFile ;如果站在 Hadoop 的角度,这个文件就叫做 HFile )。

此时的数据是放在 HBase 的局情里面,也可以放在本地的服务器上。在生产环境里面。最好是放在HBase 的局情里面,它可靠性高、可以伸缩、稳定性高、容量很大。

Client

包含访问 HBase 的接口并维护 cache 来加快对 HBase 的访问

Zookeeper

保证任何时候,集群中只有一个 master (只有一台是处于工作状态的 master)。

存贮所有 Region 的寻址入口(里面有一个内存数据库)。

实时监控 Region server 的上线和下线信息。并实时通知 Master(如果 Region server 出现问题的时候就会通知 Master

存储 HBase schema table 元数据(表定义和表的元素信息都是在 Region 里面进行传送的,不是在 master 里面)

Master

Region server 分配 region

负责 Region server 的负载均衡(对两台 Region server 做可用)

如果后面一台如果有100 Region server ,就可以分一部分给前一台的 Region server 上面。

image.png

发现失效的 Region server 并重新分配其上的 region (如果 Master 发现已经有一台 Region server 当掉了,Master 就会把这上面的 Region 分配其他的 Region server)。

管理用户对 table 的增删改操作(把请求转发给 Region server

RegionServer

Region server 维护 region ,处理对这些 region IO 请求(对 HBase 所有的读写请求)

都是 RegionServer 进行的,而不是 Master

Region server 负责切分在运行过程中变得过大的 region (如果数据一直往 Region 里面写入,文件会越来越大; Region server 就会把过大的 Region 进行切分。切分的时候是尽量按照等分的原则来切分的-假如是100条数据,切分之后就5050;如果是101,它会尽量等分,但是不会把“1”再切分)。


三、HBase 存储模型

Region

HBase 自动把表水平划分成多个区域(region),自动把表水平划分成多个区域;每个表一开始只有一个 region,随着数据不断插入表,region 不断增大,当增大到一个阀值的时候,region 就会等分会两个新的 region(裂变);

自动把表水平划分成多个区域;自动把表水平划分成多个区域;m 是一段连续的区域,n 也是一段连续的区域,

image.png

table 中的行不断最多,就会有越来越多的 region。这样一张完整的表被保存在多个 Regionserver 上。

region 会越来越多,region 就会分成到不同的 Regionserver 上。

相关实践学习
lindorm多模间数据无缝流转
展现了Lindorm多模融合能力——用kafka API写入,无缝流转在各引擎内进行数据存储和计算的实验。
云数据库HBase版使用教程
  相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情: https://cn.aliyun.com/product/hbase   ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
3月前
|
存储 SQL 分布式计算
技术心得记录:深入学习HBase架构原理
技术心得记录:深入学习HBase架构原理
|
4月前
|
SQL 分布式计算 Hadoop
Hadoop学习笔记(HDP)-Part.16 安装HBase
01 关于HDP 02 核心组件原理 03 资源规划 04 基础环境配置 05 Yum源配置 06 安装OracleJDK 07 安装MySQL 08 部署Ambari集群 09 安装OpenLDAP 10 创建集群 11 安装Kerberos 12 安装HDFS 13 安装Ranger 14 安装YARN+MR 15 安装HIVE 16 安装HBase 17 安装Spark2 18 安装Flink 19 安装Kafka 20 安装Flume
117 1
Hadoop学习笔记(HDP)-Part.16 安装HBase
|
存储 负载均衡 监控
HBase分布式数据库架构及原理
Client是操作HBase集群的入口,对于管理类的操作,如表的增、删、改操纵,Client通过RPC与HMaster通信完成,对于表数据的读写操作,Client通过RPC与RegionServer交互,读写数据。
611 0
HBase分布式数据库架构及原理
|
4月前
|
存储 算法 分布式数据库
HBase原理 | HBase内部探险
HBase原理 | HBase内部探险
111 0
|
10月前
|
存储 缓存 负载均衡
98 hbase原理
98 hbase原理
61 0
|
存储 运维 监控
分布式数据库HBase的重要机制和原理的宕机恢复和故障处理
HBase是一个分布式数据库系统,支持高可用性、高性能和高伸缩性。在分布式环境中,数据的分布式存储和管理是非常重要的。HBase通过分布式存储和管理数据来实现高可用性和高性能。同时,HBase还提供了一些重要的机制和原理来支持宕机恢复和故障处理。
419 1
|
存储 分布式计算 关系型数据库
|
存储 缓存 负载均衡
HBASE原理整理
HBASE原理整合
164 0
|
存储 容灾 大数据
分布式数据库HBase的重要机制和原理的容灾与备份机制
在当今的互联网时代,数据的安全性和可靠性已经成为了企业的核心竞争力之一。而在大数据领域,分布式数据库HBase作为一个开源的分布式数据库系统,因其高性能、高可靠性和易于扩展性等特点,受到了广泛的应用。本文将深入探讨HBase中的重要机制之一:容灾与备份机制,帮助开发者更好地理解和掌握HBase的工作原理。
412 0
|
存储 负载均衡 大数据
分布式数据库HBase的重要机制和原理的负载均衡原理
在当今的互联网时代,数据的存储和处理已经成为了企业的核心竞争力之一。而在大数据领域,分布式数据库HBase作为一个开源的分布式数据库系统,因其高性能、高可靠性和易于扩展性等特点,受到了广泛的应用。本文将深入探讨HBase中的重要机制之一:负载均衡原理,帮助开发者更好地理解和掌握HBase的工作原理。
315 0