【大数据基础】HBase

HBase

1. 概念

1.1 数据模型

表由行和列组成。表的单元格是行和列坐标的交集,他们有版本号。版本号是自动分配的时间戳。表的行键,表的主键,对表中的行进行排序。默认情况下,以字节为序,所有的表都通过主键进行访问。

每行的列被分组,形成列族。所有的列族成员有相同的前缀。temperature:air 和 temperature:dew_point 都是temperature列族的成员。

表的列族必须在事先作为表架构定义的一部分被声明,但是可以根据需要增加新的列族成员。

物理上,所有列族成员在文件系统中被存储在一起。HBase是面向列族的存储。

区域

HBase自动把表横向切分成不同的区域。每个区域包含一个子集。

锁定

无论多少列组成行级事务,行的更新都是原子的。

1.2 实现

在这里插入图片描述

HBase由一个主节点协调一个或多个regionserver从节点组成。HBase主节点负责引导初始安装,分配区域给已注册的region server, 恢复region server的故障。

regionserver负责0到多个区域,响应客户端的读写请求。同时也负责同志HBase主节点,区域要分割成新的子区域的信息,以便HBase主节点管理。

HBase依赖于Zookeeper,默认情况下使用一个Zookeeper实例为集群状态提供授权。

1.3 常见命令

create 'test', 'data'
list
put 'test', 'row1', 'data:1', 'value1'
put 'test', 'row1', 'data:2', 'value2'
put 'test', 'row1', 'data:3', 'value3'
scan 'test'

// delete tabel 
disable 'test'
drop 'test'

2. HBase 与 RDMS比较

HBase特性:

  • 无真正的索引
  • 自动分区
  • 创建新节点时自动线性扩展
  • 商用硬件
  • 容错性
  • 批量处理

3. 实践

3.1 HBase 与 HDFS

  • 文件描述信息块用尽
  • 数据节点的线程用尽
  • 不良块

3.2 架构设计

  • 连接

    没有本地数据库连接能力

  • 行的键

    混合型键,从0开始给组件编号,才能保证01在10前面。

    键是整数,一般用二进制表示,而不是使用数字的字符串表示。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值