【大数据学习笔记】HBase数据模型及架构简介

万字HBase详解带你畅游大数据的海豚湾 本文深入到HBase的起源开始分析,从0开始带你畅游大数据的海豚湾!让你轻松掌握HBase的原理,架构设计,存储设计,优点及适用场景。 阅读详情

1、HBase简介

Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩、实时读写的分布式数据库;

利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase中的海量数据,利用Zookeeper作为其分布式协同服务;

主要用来存储非结构化和半结构化的松散数据(列存 NoSQL 数据库);

2、HBase数据模型

rowkeytimestampcf1cf2cf3
00001t5 cf2:q2=val2cf3:q3=val4
t3  cf3:q3=val3
t1cf1:q1=val1  

2.1 rowkey

  • 决定一行数据
  • 按照字典顺序排序
  • Row key只能存储64k的字节数据

2.2 column family - cf - 列族 及 qualifier - 列

  • HBase表中的每个列都归属于某个列族,列族必须作为表模式(schema)定义的一部分预先给出,如 create ‘test’, ‘cf1’;
  • 列名以列族作为前缀,每个“列族”都可以有多个列成员/qualifier;如course:math, course:english, 新的列族成员/列成员可以随后按需、动态加入;
  • 权限控制、存储以及调优都是在列族层面进行的;
  • HBase把同一列族里面的数据存储在同一目录下,由几个文件保存;

2.3 timestamp - 时间戳

  • 在HBase每个cell存储单元对同一份数据有多个版本,根据唯一的时间戳来区分每个版本之间的差异,不同版本的数据按照时间倒序排序,最新的数据版本排在最前面;
  • 时间戳的类型是 64位整型;
  • 时间戳可以由HBase(在数据写入时自动)赋值,此时时间戳是精确到毫秒的当前系统时间;
  • 时间戳也可以由客户显式赋值,如果应用程序要避免数据版本冲突,就必须自己生成具有唯一性的时间戳。

2.4 cell - 单元格

  • 由行和列的坐标交叉决定;
  • 单元格是有版本的;
  • 单元格的内容是未解析的字节数组;
    • 由{row key, column( =<family> +<qualifier>), version} 唯一确定的单元。
      • cell中的数据是没有类型的,全部是字节码形式存贮。

2.5 HLog - WAL Log

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

3、HBase架构

3.1Client

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

3.2Zookeeper

  • 保证任何时候,集群中只有一个master;
  • 实时监控Region server的上线和下线信息,并实时通知Master;
  • 存储所有Region的寻址入口;
  • 存储HBase的schema和table元数据;

3.3Master

  • 为Region server分配region
  • 负责Region server的负载均衡
  • 发现失效的Region server并重新分配其上的region
  • 管理用户对table的增删改操作

3.4RegionServer

  • Region server维护region,处理对这些region的IO请求
  • Region server负责切分在运行过程中变得过大的region

3.5Region

  • HBase自动把表水平划分成多个区域(region),每个region会保存一个表里面某段连续的数据(之所以连续是因为数据是有序的)
  • 每个表一开始只有一个region,随着数据不断插入表,region不断增大,当增大到一个阀值的时候,region就会等分会两个新的region(裂变)
  • 当table中的行不断增多,就会有越来越多的region,这样一张完整的表被保存在多个Regionserver 上。

HRegion是HBase中分布式存储和负载均衡的最小单元。最小单元就表示不同的HRegion可以分布在不同的 HRegion server上。

HRegion由一个或者多个Store组成,每个store保存一个columns family。

3.6Memstore 与 storefile

  • 一个region由多个store组成,一个store对应一个CF(列族)
  • store包括位于内存中的memstore和位于磁盘的storefile
  • 写操作先写入memstore,当memstore中的数据达到某个阈值,hregionserver会启动flashcache进程写入storefile,每次写入形成单独的一个storefile
  • 当storefile文件的数量增长到一定阈值后,系统会进行合并(minor/major compaction),在合并过程中会进行版本合并和删除工作(major),形成更大的storefile
  • 当一个region所有storefile的大小和数量超过一定阈值后,会把当前的region分割为两个,并由hmaster分配到相应的regionserver服务器,实现负载均衡
  • 客户端检索数据,先在memstore找,找不到再找storefile

每个Strore由一个memStore和0至多个StoreFile组成,StoreFile以HFile格式保存在HDFS上。

 

HBase数据模型详解:大数据存储的最佳实践 本文旨在为大数据开发者和架构师提供关于HBase数据模型的全面指南。我们将深入探讨HBase的核心数据模型设计,包括其独特的存储结构和访问模式,并分享在大规模生产环境中使用HBase的最佳实践。文章首先介绍HBase的基本概念和背景,然后深入解析其数据模型的核心组件。接着我们将探讨HBase的底层存储机制和架构设计,并通过实际代码示例展示如何使用HBase API。最后,我们将讨论性能优化策略和实际应用场景。HBase:一个开源的、分布式的、面向列的NoSQL数据库,构建在HDFS之上Region。 阅读详情

相关推荐

大数据之HBase

Apache HBase摘要 Apache HBase是一个基于HDFS的分布式、可扩展NoSQL数据库,采用稀疏多维排序映射的数据模型。其核心特点包括: 数据模型: 采用行键(Byte数组)、列族和时间戳的多维映射 支持动态列和稀疏存储 数据按RowKey字典序排序 架构组成: Master:负责元数据管理和Region分配 RegionServer:处理数据读写请求 依赖Zookeeper进行协调 底层存储使用HDFS 部署要求: 需要预先安装Zookeeper和Hadoop 支持分布式集群部署 数据默

如无必要勿增实体 1318

大数据入门:HBase数据模型详解

Hbase作为Hadoop生态当中的NOSQL数据库,基于HDFS去完成实际的数据存储任务,高性能是得到普遍的认可的。而Hbase在存储上的高性能,与自身的数据模型设计有很大的关系。今天的大数据入门分享,我们就来讲讲,Hbase数据模型的相关知识。 根据定义,我们知道Hbase是一个支持分布式的列式数据库,尤其是针对于大型数据的实时、随机的读写访问,Hbase能够提供很好的功能支持。 一、HBase的数据模型 Hbase的数据模型,我们需要从两个维度来理解,一是逻辑模型,二是物理模型。逻辑模型 H.

shuimuzh123的博客 6456

大数据HBase(七):Hbase的架构

全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点。 目录 系列历史文章 前言 Hbase的架构 一、Client 二、Master Server 三、Region Server 四、逻辑结构模型 五、Region 六、Store 七、MemStore 八、StoreFile 九、WAL 十、集群架构 系列历史文章 2021年大数据HBase(六):HBase的高可用!【建议收藏】 2021年大数据HB.

Lansonli(蓝深李)的博客 3404

大数据(Hbase)数据模型

Hbase数据模型 rowkey Hbase是面向列式存储的分布式数据库,rowkey是行键,用来组织逻辑上的一行数据。rowkey可以是任意类型的字符串,最大长度为64KB。rowkey按照字典顺序排序存储,在设计rowkey时,需要考虑如何充分利用rowkey的这一特性,特高查询效率和存储效率,通常把经常一起读取的行存储在同一区域内。 列族 Hbase表中的每个列都属于一个...

不瘦十斤不换名字 1727

Hbase简介,从数据模型、架构等方面介绍

从数据模型、物理储存、架构等方面介绍,比较简介通俗

论文阅读------Exposure Fusion: A Simple and Practical Alternative to High Dynamic Range Photography

Mertens T, Kautz J, Van Reeth F. Exposure fusion: A simple and practical alternative to high dynamic range photography[C]//Computer graphics forum. Oxford, UK: Blackwell Publishing Ltd, 2009, 28(1): 161-171. 摘要 本文提出了一种将包围曝光的序列融合到高质量图像中的技术,而无需先转换为高动态范围(HD.

qq_25283239的博客 3395

HBase数据模型

行中的数据以列族的形式组织,列族可以理解为具有相似属性或语义的列的集合。单元格是一个行、列、时间戳和数据值的组合,数据值可以是任意类型的字节数组。数据模型的完整示例,包括表的创建、数据的插入、查询和删除等操作。它通过表、行、列族和列的层次结构来组织数据,并使用行键进行快速的数据访问。数据模型的代码案例,包括表的创建、数据的插入、查询和删除等操作。的数据模型原理和使用方法,可以更好地发挥其优势,构建高性能和可靠的大型分布式应用。的数据模型理论和原理,并提供一个完整的代码注释案例,同时对参数进行介绍。

互联网知识分享 2077

基于Python的MGWR多尺度地理加权回归模型

多尺度地理加权回归(MGWR)变量之间的关系在地理空间上不是均一的,所有特征变量的影响都在不同的空间范围(带宽)内变化,某些变量可能表现出局部性影响(小带宽),某些变量可能表现出全局性影响(大带宽),通过优化每个特征变量的带宽,捕捉到空间关系的多尺度特性,得到更细致的模型解释。

weixin_61965078的博客 3850

HBase的数据模型是什么样的?

综上所述,HBase的数据模型是面向列的,通过表、行、列族和列限定符来组织和存储数据。在面试中,对HBase数据模型的理解和能够展示对HBase的实际应用经验,将有助于展示您对分布式数据库的专业知识和技能。当需要查询某一列的数据时,HBase只需要读取该列的数据,而不需要读取整行的数据,从而提高了查询效率。列族是一组相关的列的集合,它们在物理上存储在一起,并共享相同的存储和访问策略。列限定符用于唯一标识一个列,它是列族下的一个子标识。灵活的列数:HBase的表中可以有非常多的列,甚至可以动态地添加新的列。

jakelihua 446

IoU的进化之路——IoU、GIoU、DIoU、CIoU四种损失函数总结

IoU、GIoU、DIoU、CIoU四种损失函数总结

chase 8129

【华为OD技术面试真题 - 技术面】- 测试面试题(1)

专栏:华为OD面试真题精选 目录: 2024华为OD面试手撕代码真题目录以及八股文真题目录黑盒测试:白盒测试:基本功能验证:边界条件测试:空白输入测试:特殊字符和格式测试:响应时间测试:压力测试:针对在不同系统和设备上测试聊天窗口功能,以及网络正常的前置条件,我们可以增加以下测试用例:系统和设备:PC端测试:移动端测试:功能验证:前置条件:网络性能影响测试:Postman:SoapUI:JMeter:Rest-Assured:Tricentis Tosca:ReadyAPI:CI/CD工具集成:测试管理工

算法大师! 3689

分布式存储—— HBase数据模型 详解

1.3 HBase数据模型在开始学习HBase之前非常有必要先学习HBase的特性,因此本节将介绍HBase的逻辑模型、物理模型和访问HBase的方法等。和传统的关系型数据库类似,HBase以表(Table)的方式组织数据,应用程序将数据存入HBase的表中。HBase的表由行(row)和列(Column)共同构成,与关系型数据库不同的是HBase有一个列族(Column Family)的概念,它将一列或者多列组织在一起,HBase的列必须属于某一个列族。

Future_yzx的博客 1865

串口通信的性能瓶颈分析:如何提高数据吞吐量和降低延迟

摘要: 串口通信在高频或大数据场景下存在吞吐量不足、延迟高、丢帧等问题,主要瓶颈包括波特率限制、缓冲区不足、CPU轮询延迟等。优化策略包括:提升波特率至硬件上限、增大缓冲区、采用异步I/O(如ReadAsync)减少线程切换,使用二进制协议降低解析开销。实时性方面需启用硬件流控、批量发送数据,并优化线程优先级。跨平台适配需区分Windows/Linux的缓冲区设置与异步机制。性能测试可通过吞吐量、延迟及回环测试验证优化效果,核心原则是硬件匹配、异步处理、协议优化与跨平台适配。(150字)

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 979

大数据技术之HBase(一)HBase简介、HBase快速入门、HBase进阶

文章目录1 HBase 简介1.1 HBase 定义1.2 HBase 数据模型1.2.1 HBase 逻辑结构1.2.2 HBase 物理存储结构1.2.3 数据模型1.3 HBase 基本架构2 HBase 快速入门1.2.3 自定义存储 offset1.3 自定义 Interceptor1.3.1 拦截器原理1.3.2 拦截器案例2 Kafka 监控2.1 Kafka Eagle3 Flume 对接 Kafka4 Kafka 面试题 1 HBase 简介 1.1 HBase 定义 HBase 是一.

huxili2020的博客 3万+

数据分析案例-汽车客户信息数据可视化分析

本数据集来源于kaggle,原始数据集共有8068条,11个特征变量,各变量含义解释如下:ID:客户IDGender:客户性别Ever_Married:客户婚姻状况Age:客户年龄Graduated:客户是毕业生吗?Profession:客户的职业Work_Experience:多年工作经验Spending_Score:客户的消费评分Family_Size:客户家庭成员人数(含客户)Var_1:客户的匿名类别Segmentation:(目标)客户的客户群。

m0_64336780的博客 1万+

2025年最新雷电模拟器9.22安装Magisk面具和LSPosed框架完整图文教程 文章末尾附所需软件下载

操作环境:雷电模拟器9.0.22 虚拟系统版本android 91、设置-其他设置-Root权限-开启2、设置-性能设置-System.vmdk可写入3、安装Magisk-18a0b94a-delta(25205).apk,运行并给予root权限4、选择右上角安装弹出“允许“magisk Delta”访问您设备上的照片、媒体内容和文件吗?“选择允许,然后结束magisk进程。5、从新运行magisk选择右上角安装-选择修补boot镜像中的vbmeta和安装到Recovery。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 7090

Springboot整合HBase——大数据技术之HBase2.x

Apache HBase 是以hdfs为数据存储的,一种分布式、可扩展的noSql数据库。是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。HBase使用与BigTable(BigTable是一个稀疏的、分布式的、持久化的多维排序map)非常相似的数据模型。用户将数据行存储在带标签的表中。数据行具有可排序的键和任意数量的列。该表存储稀疏,因此如果用户喜欢,同一表中的行可以具有疯狂变化的列。

qq_43842093的博客 4824

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

HBase 架构与数据模型深度解析

HBase 以其高扩展性、灵活的数据模型和强一致性,为大数据实时存储与检索场景提供了坚实基础。掌握其架构与设计思想,结合业务灵活建模和优化,才能真正发挥 HBase 的技术价值!图文并茂,知其然更知其所以然。温馨提示:如需高清架构图、思维导图源文件或更多实战案例,请留言或私信获取!

IT技术学习与工作笔记分享 1474

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

HBase 架构与数据模型详解

HBase 采用分布式主从架构,结合 ZooKeeper 和 HDFS,支持高可用、可扩展的大数据存储。数据模型灵活,支持多版本、无模式、面向列的存储,适合海量数据场景。合理设计 RowKey、列族和参数,是高效使用 HBase 的关键。

IT技术学习与工作笔记分享 874

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

【学习笔记】大数据技术之HBase

大数据技术之HBase思考?1. RegionServer和Master的区别?第 1 章 HBase 简介1.1 HBase 定义1.2 HBase 数据模型1.2.1 HBase 逻辑结构1.2.2 HBase 物理存储结构1.2.3 数据模型1.3 HBase 基本架构第 2 章 HBase 快速入门2.1 HBase 安装部署2.1.1 Zookeeper 正常部署2.1.2 Hadoop 正常部署2.1.3 HBase 的解压2.1.4 HBase 的配置文件2.1.5 HBase 远程发送到其他

prague6695的博客 1819

hbase原理架构总结

什么是Hbase Hbase是一个高可靠、高性能、面向列、可伸缩的分布式存储系统,利用Hbase技术可在廉价的PC Server上搭建大规模结构化存储集群。 利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理 Hbase中的海量数据,利用Zookeeper作为其分布式协同服务 主要用来存储非结构化和半结构化的松散数据(列存NoSQL数据库) Hbase是Google BigTable的开源实现,与Google BigTable利用GFS作为其文件存储系统类似,H

qq_44671288的博客 2887

HBase简介、数据模型

目录 HBase简介 HBase数据模型 自动分区 HBase数据操作的实现 HBase体系结构 HBase简介 HBase是一个在HDFS上开发的高可靠、高性能、面向列、可伸缩的分布式数据库。HBase适用于实时地随意访问超大规模数据集。 NoSQL 发展前景 关于GFS和MapReduce GFS是HDFS的前身,它使用商用硬件集群存储海量数据。文件系统将数据在节点之间冗...

Jodness' Blogs 1270

Hbase 的架构详解

Hbase 作为 NoSQL 数据库的代表,属于三驾马车之一 BigTable 的对应实现,HBase 的出现很好地弥补了大数据快速查询能力的空缺。在前面咱们也有介绍过 HBase 的数据模型,感兴趣的小伙伴可以翻看下。谈谈你对HBase数据模型的认识? HBase 的核心架构由五部分组成,分别是 HBase Client、HMaster、Region Server、ZooKeeper 以及 HDFS。它的架构组成如下图所示。 下面我们对 HBase 架构组成的每一部分详细介绍一下。 1.HBas

一瓶绿茶三元钱 6383

【大数据存储与管理】分布式数据库HBase:03 HBase数据模型

本文讲解HBase数据模型。HBase是稀疏多维映射表,按列族存储数据,借鉴列式存储格式,支持多版本数据存储,适用于查询密集型系统。

Morse_Chen的博客 1377

大数据技术之HBase简介(1)

Apache HBase™ 是一种分布式、可扩展的 NoSQL 数据库,它基于 HDFS 进行数据存储。

qq_45115959的博客 1303
上一篇: IntelliJ IDEA License Server本地搭建教程
下一篇: 【大数据学习笔记】sqoop
hellboy0621
博客等级 码龄9年 61粉丝 147原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值