HBase 原理_2 | 学习笔记

简介: 快速学习 HBase 原理_2

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

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


HBase 原理_2


一、HBase 数据模型

Row Key

(唯一确定一行数据)

 Time Stamp

(数据版本)

 CF1

  (列族)

 CF2

 CF3

 “com.cnn.www”

t6

 

CF2:q1=val3

(单元格)

CF3:q4=val4

   t5

 

 

 

t3

CF1:q2=val2

 

 

注意,Row Key HBase 中不可重复,它唯一标识着一行数据。

Time Stamp 是时间戳,也是版本,对应的每一个 cell 的数据的版本。

CF1CF2CF3叫做列族,多个列的一个组合,这里面有些空格。列式和行式的区别:如果对应的没有数据是应该不画出来的,为了好看画出来了。在 HBase 里对应的三个单元格,每一个单元格,这个单元格里是 CF2列族里 q1这一列对应的值是 val3CF1CF3同理。

一个单元格需要有几个元素才能确定?

Row key、在 HBase 里每一个列都属于一个列族的,在描述列时,前面一定要带它是属于哪一个列族,对应的这边列和列族都需要,前面 Time Stamp 是版本,对于这一个单元格可能有多个版本。这才能唯一确定一个单元格的数据。在一行数据里有三个版本,分别是 t5t3t6

版本写的是 Time Stamp,一般默认来描述这个版本是根据时间戳来描述的。

1.Row Key:

Row key 唯一决定一行数据,类似于组件。

Row Key 会按照字典型顺序来进行排序。HBase当中存储的数据一定是有序的,它在存储时,只要插入一条数据它就会按照字典顺序找到该插入到哪一条就插入到哪,所以说 HBase 里数据一定是有序的。

Row Key 的长度,Row Key 最多能存储64节,它是一个字节数据,Row Key 的存储有一个上限,只有64k,在做HBase 设计时,Row Key 尽量是短一些,简单一些。到 Row Key 如果设计特别长,这个存储上限有限制,最大只能存储64kRow Key 是字节数据,HBase 可以存储哪一部分数据?理论上 HBase 任何数据都能存储,只要按照它的规则来。规则:一定要把它转换成字节数组,在 java 里任何数组都可以转化成字节数组来处理,假如往 HBase 里存一张图片,应该先把图片读出来才可以转换成字节数组,往单元格里存电影也可以存把它转换成字节数组。

2.列族:

是列的家族,列的集合,定义某一个列,必须以列族作为前缀,假如现在有个表,有一个 math 列一个 engish 列,但是注意光写列是没有意义的,要加一个列族:,这样来说明;在定义表的时候一定要把这个列族给指定好,后面根据要求,列族可以进行添加,但是在定义表时必须指定一个,创建表的语句:create‘test’‘course’test 是表名,course 是列族。

权限控制、存储、调优都是在列族层面进行的;

同一个列族的数据都是存储在同一个列族下,具体有几个文件就看存储的数据量了,数据越多,文件就越多,小文件不利于存储操作,所以小文件也会进行合并。

3.时间戳:

之前 HDFS 时,不建议使用修改这个操作。HBase 怎么处理的?在 HDFS 实现修改这个功能可以先上传一份,再重新修改完本地上传实现修改的功能,在 HBase 里它不像关系型数据库,通过 Timestamp 或者版本,在 HBase 里每一个单元格对应的都有一个版本,假如 CF1列族1下面有一个 name 列,第一次插入 zhangsan,同一行往 name 里插入zhangsan,插入时对应有个时间戳来描述版本,假如在插入一个 lisi,这时会把数据覆盖掉吗?不会,它会在上边插入一个 lisi 然后再记录一个版本。这样的操作达到了修改的功能。每次都插入一个最新的版本就是一个修改的功能。

每一份数据都有多个版本,按照时间倒序来排序,最新的版本一定在最前面

4.Cell 单元格

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

单元格是有版本的,默认版本是时间戳;

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

单元格的描述:由 frow kevcolumm(=+)version)唯一确定的单元。cell 中的数据是没有类型的,全部是字节码形式存贮。

相关实践学习
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
相关文章
|
5月前
|
存储 SQL 分布式计算
技术心得记录:深入学习HBase架构原理
技术心得记录:深入学习HBase架构原理
|
存储 负载均衡 监控
HBase分布式数据库架构及原理
Client是操作HBase集群的入口,对于管理类的操作,如表的增、删、改操纵,Client通过RPC与HMaster通信完成,对于表数据的读写操作,Client通过RPC与RegionServer交互,读写数据。
668 0
HBase分布式数据库架构及原理
|
6月前
|
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
132 1
Hadoop学习笔记(HDP)-Part.16 安装HBase
|
6月前
|
存储 算法 分布式数据库
HBase原理 | HBase内部探险
HBase原理 | HBase内部探险
116 0
|
存储 缓存 负载均衡
98 hbase原理
98 hbase原理
63 0
|
存储 运维 监控
分布式数据库HBase的重要机制和原理的宕机恢复和故障处理
HBase是一个分布式数据库系统,支持高可用性、高性能和高伸缩性。在分布式环境中,数据的分布式存储和管理是非常重要的。HBase通过分布式存储和管理数据来实现高可用性和高性能。同时,HBase还提供了一些重要的机制和原理来支持宕机恢复和故障处理。
439 1
|
存储 分布式计算 关系型数据库
|
存储 缓存 负载均衡
HBASE原理整理
HBASE原理整合
182 0
|
存储 容灾 大数据
分布式数据库HBase的重要机制和原理的容灾与备份机制
在当今的互联网时代,数据的安全性和可靠性已经成为了企业的核心竞争力之一。而在大数据领域,分布式数据库HBase作为一个开源的分布式数据库系统,因其高性能、高可靠性和易于扩展性等特点,受到了广泛的应用。本文将深入探讨HBase中的重要机制之一:容灾与备份机制,帮助开发者更好地理解和掌握HBase的工作原理。
434 0
|
存储 负载均衡 大数据
分布式数据库HBase的重要机制和原理的负载均衡原理
在当今的互联网时代,数据的存储和处理已经成为了企业的核心竞争力之一。而在大数据领域,分布式数据库HBase作为一个开源的分布式数据库系统,因其高性能、高可靠性和易于扩展性等特点,受到了广泛的应用。本文将深入探讨HBase中的重要机制之一:负载均衡原理,帮助开发者更好地理解和掌握HBase的工作原理。
383 0