HBase系列(一)、数据模型

HBase的数据模型 逻辑上,HBase的数据模型同关系型数据库很类似,数据也是存储在一张表中,由行和列。但HBase的底层物理存储结构是Key-Value模式。 阅读详情

目录

简介

设计模型

逻辑结构

物理结构


简介

HBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase可在廉价服务器上搭建起大规模结构化存储集群。是Apache软件基金会的Hadoop项目的一部分,运行于HDFS文件系统之上,因此可以容错地存储海量稀疏的数据。

HBase是一个开源的非关系型分布式数据库(NoSQL),它参考了谷歌的BigTable建模,使用Java语言进行实现。但是也有很多不同之处。比如:

 Google BigTableHadoop HBase
文件存储系统GFSHDFS
计算引擎MAPREDUCEHadoop MapReduce
一致性协调服务ChubbyZookeeper

设计模型

下面我们通过数据存储结构来了解一下HBase的各个组件,从逻辑上来看,HBase中的数据模型和RDBMS很类似,数据存储在一个二维表中,有行和列,但从物理存储上来看,HBase是以KV形式进行存储的,更像是一个multi-dimensional map。

逻辑结构

  • namespace(命名空间):类似数据库中的database,命名空间下可以有多个HBase 表。HBase 有两个自带的命名空间,分别是 hbase 和 default,hbase 中存放的是 HBase 内置的表,default 是用户默认使用的命名空间。
  • Region:类似数据库的表,不同的是,Hbase定义表的时候只需要声明列族即可,不需要声明具体的列。这意味着,往 HBase 写入数据时,字段可以动态、按需指定。因此,和关系型数据库相比,HBase 能够轻松应对字段变更的场景。同时,一个HBase表中可以有1~n个Region。
  • Row(行):HBase中每行数据都由一个 RowKey(行键) 和多个 Column(列)组成,数据是按照 RowKey的字典顺序存储的(如:上图的row_key10排在row_key2前面),RowKey 的设计十分重要,查询数据时只能根据 RowKey 进行检索:
    • 指定rowkey查询
    • 指定rowkey区间查询
    • 全表扫描 
  • Column Family(列族):HBase 中的列被分组为列族。列族的所有列成员具有​​相同的前缀。例如 cf_wyk:name,cf_wyk:age 都是 cf_wyk 列族的成员。冒号字符(:)从列族限定符中分隔列族。在物理上,同一列族内成员一起存储在文件系统上,因此建议所有同一列族内的成员具有相同的一般访问模式和大小特征。
  • Column(列):HBase 中的每个列都由 Column Family(列族)和 Column Qualifier(列限定符)进行限定,例如cf_wyk:name,cf_wyk:age。建表时,只需指明列族,而列限定符无需预先定义。
  • Store:HBase表按照列族将同一列族内的数据存储在同一个文件夹内,按照Region将表进行横向切片,经过这两种切分之后得到的store就是真实存储数据的文件,该数据存储在HDFS内。
  • Cell:由{rowkey, column Family:column Qualifier, time Stamp} 唯一确定的数据单元。cell 中的数据是没有类型的,全部以字节码形式存储。

解读上图:在hbase中namespace为default,表名为wyk_csdn,有两个列族cf_csdn,cf_wyk,分别有下面几个列cf_csdn:host,cf_csdn:port,cf_csdn:alias,cf_wyk:name,cf_wyk:age。有8条记录被分别放置在三个region内,且在每个region内是按照字典排序。 

物理结构

在上面介绍了数据是存储在storefile内的,下面我们来看一下storefile内存储了什么样的数据,如上图,其中Rowkey,列族(Column Family),列限定符(列),和值(Value)我们都知道是什么,剩下两个新面孔我们来看一下:

  • Timestamp(时间戳):用于标识数据的不同版本(version),每条数据写入时,如果不指定时间戳,系统会自动为其加上该字段,其值为数据写入 HBase 的时间。时间戳在HBase中是非常重要的一个指标。
  • Type(操作类型):对HBase数据进行增改操作时类型为Put,进行删除操作时该类型为Delete,进行查询操作不会产生数据修改,因此不会记录在数据内。

解读上图:该表中rowkey为row_key8,列族为cf_wyk的数据存储情况,其中在t1时间点新增了数据{wyk7,26},在t2时间点修改age=27,在t3时间点修改age=28,虽然在storefile中age列存了三个记录,但在查询数据时只能查到age=28的结果,这就是因为时间戳t3是最新的,因此在查询数据时如果没有指定版本则只会返回最新版。

希望本文对你有帮助,请点个赞鼓励一下作者吧~ 谢谢!

 

 

HBase数据模型 HBase简介 – HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩、 实时读写的分布式数据库 – 利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理 HBase中的海量数据,利用Zookeeper作为其分布式协同服务 – 主要用来存储非结构化和半结构化的松散数据(列存 NoSQL 数据库) 数据模型: 在使... 阅读详情

相关推荐

[Hbase]一 HBase基础

HBase数据模型的关键在于 稀疏、分布式、多维、排序 的映射。其中映射 map指代非关系型数据库的 key-Value结构。

weixin_44428807的博客 1608

数据库第三次作业

教师表 teacher 指定字段插入数据 教师号 教师姓名 职称 工资 岗位津贴 T1 Anne Professor 5000 2000 T2 Adam 2000 T3 ..

m0_62686978的博客 1272

HBase列式数据模型简介

数据模型是理解一个数据库的关键,本节介绍 HBase 的列式数据模型,与数据模型相关的基本概念,并描述 HBase 数据库的概念视图和物理视图。 数据模型概述 HBase 是一个稀疏、多维度、有序的映射表。 这张表中每个单元是通过由行键、列族、列限定符和时间戳组成的索引来标识的。每个单元的值是一个未经解释的字符串,没有数据类型。当用户在表中存储数据时,每一行都有一个唯一的行键和任意多的列。 ...

大数据基础学习 1759

HBase数据模型(1)

HBase数据模型(1) HBase数据模型(2) 1.0 HBase的特性 Table HBase以表(Table)的方式组织数据,数据存储在表中。 Row/Column 行(Row)和列(Column)共同组成HBase的表。 Column Family 列族(Column)将一列或者多列组织在一起,HBase的列必须属于...

weixin_33757911的博客 403

HBase 基础之 数据模型(RowKey、列族)、读写流程,单机部署,使用 HBase Shell 操作表

一、HBase 数据模型HBase 的数据模型与传统关系型数据库(如 MySQL)完全不同,它更像是。

u012024132的专栏 824

Hbase数据模型与存储结构

当一个region所有storefile的大小和数量超过一定阈值后,会把当前的region分割为两个新的region(裂变),每个region保存一段连续的数据片段,如此往复,就会有越来越多的region,并由Master分配到相应的RegionServer服务器,这样一张完整的表被保存在多个Regionserver 上,实现负载均衡。(1)在HBase每个cell存储单元对同一份数据可以有多个版本,根据唯一的时间戳来区分每个版本之间的差异,不同版本的数据按照时间倒序排序,最新的数据版本排在最前面。

2401_89694162的博客 1253

HBase学习笔记(一)HBase数据模型

HBase是运行在Hadoop集群上的一个数据库,与传统的数据库有严格的ACID(原子性、一致性、隔离性、持久性)要求不一样,HBase降低了这些要求从而获得更好的扩展性,它更适合存储一些非结构化和半结构化的数据。 Apache HBase is a database that runs on a Hadoop cluster. HBase is not a traditional RDBMS,

momo1005的博客 1082

【图文详解】HBase 的数据模型与架构原理详解

HBase 简介 https://hbase.apache.org/HBase, Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩、 实时读写的分布式开源 NoSQL 数据库,面向列存储。主要用来存储非结构化和半结构化的松散数据。HBase 的设计思想,来源于 Fay Chang所撰写的Google论文 “Bigtable:一个结构化数据的分布式存储系统”。HBase ...

AI天才研究院 1万+

大数据技术之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万+

自锁电路设计

Hi,uu们,是不是经常要用到自锁电路,通常不是使用555芯片就是用比较器来做自锁,今天我们来简单看下自锁电路的设计.图1采用了比较器构建了一个自锁电路,采用低电平复位,当需要复位的时候志需要将反向端的二极管拉低一下即可,免去 三极管控制同相端和电源短接的麻烦。图1:比较器构建的自锁电路也可以使用555去构建,如下图2所示.图2:使用555构建的自锁电路工作原理见555的真值表,真值表如表1所示.表1:555电路真值表相对来说555还是比较贵,所以我就想能不能有个便宜的方法做个自锁电路,构建电路如下图3所示

weixin_43884675的博客 7065

基于 MATLAB 的综合能源系统建模:全面解析与案例应用 

本文详细介绍了基于 MATLAB 的综合能源系统建模相关知识,包括 MATLAB 在综合能源建模中的优势、综合能源系统各组件和网络的建模方法,并通过园区综合能源系统的案例展示了从建模到优化调度求解以及结果分析的全过程。在当今全球能源格局深刻变革的背景下,综合能源系统(Integrated Energy System,IES)作为一种创新的能源供应体系,整合了多种能源形式,如电力、热力、燃气等,以实现能源的高效生产、传输、分配和利用。需要考虑燃气的压力、流量特性以及管道的阻力特性等。

qq_57128262的博客 1336

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

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

shuimuzh123的博客 6457

告别轮询!用STM32CubeMX给STM32F030配置ADC多通道+DMA,实测代码分享

本文详细介绍了如何使用STM32CubeMX为STM32F030配置ADC多通道采集与DMA传输,显著提升采集效率。通过实测对比轮询与DMA模式的性能差异,提供完整的代码实现和优化技巧,帮助开发者快速掌握这一高效采集方案。

weixin_42570296的博客 410

HBase基础知识(一):HBase简介、HBase数据模型与基本架构

HBase是一种分布式、可扩展、支持海量数据存储的NoSQL数据库。

zuodingquan666的博客 2234

用Java实现对接豆包ai火山引擎详细版简单明了ai对话

第二部分代码实现。

m0_72637700的博客 8608

浪潮服务器ESXI6.7部署实战:手动集成RAID驱动避坑指南

本文详细介绍了在浪潮服务器上部署ESXI6.7时手动集成RAID驱动的完整流程和避坑指南。从驱动获取、解压技巧到封装实战,逐步解决国产服务器常见的驱动缺失问题,特别针对PM8060 RAID卡提供具体解决方案,帮助IT运维人员顺利完成ESXI部署。

weixin_33725722的博客 461

HBase数据模型解析

HBase数据模型解析 HBase 是一种列存储模式与键值对存储模式结合的 NoSQL 数据库,它具有灵活的数据模型,不仅可以基于键进行快速查询,还可以实现基于值、列名等的全文遍历和检索。 HBase 可以实现自动的数据分片,用户不需要知道数据存储在哪个节点上,只要说明检索的要求,系统会自动进行数据的查询和反馈。 HBase 的基本概念 HBase 不支持关系模型,它可以根据用户的需求提供更灵活和可扩展的表设计。与传统的关系型数据库类似,HBase 也是以表的方式组织数据,应用程序将数据存于 HBase 的

张俊杰 的博客 4030

ADS 2023 实战:手把手教你仿真一个中心频率 2.4GHz 的带通滤波器(附工程文件)

本文详细介绍了使用ADS 2023软件设计和仿真中心频率2.4GHz带通滤波器的全流程,包括工程准备、指标定义、原理图设计、仿真优化及实际电路实现。通过切比雪夫滤波器拓扑和参数优化,实现高性能的带通滤波器设计,适用于无线通信系统。附有工程文件和常见问题解决方案,助力工程师快速掌握射频滤波器设计技巧。

weixin_30790841的博客 482

HBase系列(一):HBase表结构及数据模型的理解

专栏:大数据核心原理与实践 HBase适用场景 首先在搞HBase之前我们要对其建立感性认识,其适用场景如下: 并发、简单、随机查询。 (注:HBase不太擅长复杂join查询,但可以通过二级索引即全局索引的方式来优化性能,后续博文会进行讲解) 半结构化、非结构化数据存储。 一般我们从数仓中离线统计分析海量数据,将得到的结果插入HBase中用于实时查询。 HBase表结构 这...

little prince,blue coder 2万+

C#与工业设备的OPC DA/UA协议通信开发

摘要:本文介绍了C#与工业设备通信的两种OPC协议(OPC DA和OPC UA)的实现方法。OPC DA基于COM/DCOM技术,适用于Windows平台,提供实时数据采集功能;OPC UA则支持跨平台通信,具备更强的安全性和数据建模能力。文章详细展示了如何使用C#通过OPC DA和OPC UA协议读取、写入数据,并提供了代码示例,包括安装相关库、建立连接、订阅数据变化等关键步骤。这些方法为工业自动化中的设备监控与控制提供了实用解决方案。(149字)

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

Android Audio常见问题分析方法

分析audio dump,确定写给BT的data是否正常,MTK平台Android原生架构分析threadloop write节点,高通平台分析QXDM 1586节点,从dump确定问题大概位置。分析systrace 确定性能。AudioFocus状态(用于播放或者音量异常的情况)。AudioTrack是否正常创建bt连接是否正常通路异常,setMode,setSpeakerphoneOn等都会影响设备选择,sco调用流程是否正常。

一条老狗的博客 2388

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

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

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

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

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

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

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

Future_yzx的博客 1866

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

HBase 的数据模型

文章目录1、HBse表结构2、HBase 与 HDFS 的关系3、HBase 使用选择4、HBase 数据存储模型4.1 CAP 定理4.2 ACID4.3 数据模型4.4 HBase 与 RDBMS 的区别 1、HBse表结构 HBase 是面向列的数据库。有别于RDBMS(行式数据库),HBase将原来每一列中的数据放到一起进行存储。 RDBMS表结构(行式): RDBMS中,每个行都是不可...

花栗鼠先生的博客 1535

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

HBase数据模型与原理

1.数据模型HBase数据模型与关系数据库模型有很大的区别。HBase的数据模型被组织为行(row)、列族(column family)、列(column)和单元格(cell)的层次结构,其中数据存储在表(table)中。表由多个行组成,每行具有一个唯一的行键(row key)。行键的设计非常重要,它决定了数据在HBase中的存储和访问方式。行中的数据以列族的形式组织,列族可以理解为具有相似属性或语义的列的集合。每个列族中可以包含多个列,列由列名和时间戳组成。

m0_63324465的博客 1003
上一篇: 分布式资源调度管理框架:YARN的架构及工作原理
下一篇: HBase系列(二)、架构原理
王义凯_Rick
王义凯_Rick 领域专家: 大数据技术领域 领域专家: 大数据技术领域
博客等级 码龄14年 858粉丝 162原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

王义凯_Rick

遇见即是缘,路过就给个评论吧~

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

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

打赏作者

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

抵扣说明:

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

余额充值