HBase专项

HBase概述

HBase是Hadoop的数据库,HBase是一个分布式的、面向列的开源数据库,它不同于一般的关系数据库,是一个适合非结构化数据存储的数据库。HBase利用Hadoop的HDFS作为其文件存储系统,利用ZooKeeper作为其协调工具,非常适合用来进行大数据的实时读写。
HBase表是一个稀疏多维表,表中的数据是未经解释的字符串,没有数据类型,每一行都有一个行键,表被分组成许多列族集合,列族支持动态扩展,可以很方便地添加一个列族或列,无须事先预定于列的数量和类型,所有列都是以字符串形式存储。

1)行键(RowKey)

HBase一张表中可以有上亿行记录,每一行都由一个行关键字rowkey来标识。HBase保证对所有行按照rowkey进行字典顺序排序存储。RowKey(行键)可以是任意字符串(最大长度是64KB,实际应用中长度一般为10~100字节)。与关系数据库的主键primarykey不同的地方,HBase中的RowKey只能是一个字段而不能是多个字段的组合。

2)列族(CloumnFamily,CF)和列

HBase表中的每个列,都归属于某个列族。列族必须在使用表之前定义(列不需要事先定义),列族数量不能太多,列名都以列族作为前缀。例如courses:english、courses:history都属于courses这个列族。在每个列族中,可以存放很多的列,而每行每列族中的列数量可以不同。

3)时间戳(TimeStamp)

HBase中通过行关键字、列(列族名和列名)和时间戳的三元组确定一个存储单元(cell)。每个cell都保存着同一份数据的多个版本,不同版本的数据按照时间倒序排序,即最新的数据排在最前面。

版本通过时间戳来索引。时间戳的类型是64位整型。时间戳可以由HBase(在数据写入时自动〉赋值,此时时间戳是精确到毫秒的当前系统时间。时间戳也可以由用户自己赋值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值