Hbase基础

本文详细介绍了HBase的数据模型,包括RowKey、Column Family与Qualifier、Timestamp和Cell,强调了RowKey设计的重要性。此外,还概述了HBase的架构,包括Client、Zookeeper、Master、RegionServer等组件的角色,以及读写流程、数据删除和集群搭建的基本步骤。文章还提到了HBase的基本操作和API使用方法,对于理解和应用HBase具有指导意义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Hbase

谷歌—BigTable论文

海量存储、列式存储、极易扩展(RS/HDFS)、高并发、稀疏性(主要是针对Hbase列的灵活性,在列族中,你可以指定任意多的列,在列数据为空的情况下,是不会占用存储空间的)

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

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

​ 主要用来存储非结构化和半结构化的松散数据

​ 快的原因:用户操作的是数据的标记,不是操作真正的数据,当数据后期的合并和拆分的时候才处理数据

一、HBASE数据模型

Row Key Time Stamp CF1 CF2 CF3
11248112 t6 CF2:q1=val1 CF3:q3=val3
11248112 t3
11248112 t2 CF1:q2=val2

RowKey

  • RowKey:是Byte array,是表中每条记录的“主键”,方便快速查找,Rowkey的设计非常重要;

​ 决定一行数据

​ 按照字典顺序排序的。

​ Row key只能存储64k的字节数据

Column Family列族 & qualifier列

  • Column Family:列族,拥有一个名称(string),包含一个或者多个相关列;
  • qualifier:属于某一个columnfamily,familyName:columnName,每条记录可动态添加

Tips:创建表的时候可以不给列,但是必须给列族

​ HBase表中的每个列都归属于某个列族,列族必须作为表模式(schema)定义的一部分预先给出。如 create ‘test’, ‘course’;

​ 列名以列族作为前缀,每个“列族”都可以有n个列成员(column);如course:math, course:english, 新的列族成员(列)可以随后按需、动态加入

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

​ HBase把同一列族里面的数据存储在同一目录下,由几个文件保存

Timestamp时间戳

  • Version Number:类型为Long,默认值是系统时间戳,可由用户自定义;

Tips:时间戳可以理解为 是数据的版本号

​ 在HBase每个cell存储单元对同一份数据有多个版本,根据唯一的时间戳来区分每个版本之间的差异,不同版本的数据按照时间倒序排序,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值