hbase介绍
hbase
什么是hbase
- 是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统
- 可以用来在pc server上搭建起大规模的结构化数据存储的集群
- 利用hdfs为其文件存储系统,利用mapreduce来处理数据,zookeeper作为协调工具
hbase应用场景
- 需对数据进行随机读操作或者随机写操作
- 大数据量高并发操作,比如每秒对PB级数据进行上千次操作
- 读写均是非常简单的操作
逻辑数据类型
- hbase中的表是稀疏表
- 逻辑模型会将hbase中的行分割成按照列族存储的模型
- 行键
- 只有唯一一个行键
- 按字典顺序排列
- 时间戳
- 是一个六十四位整数
- 列族:列的集合
- 支持动态扩展,无需提前定义
- 所有列均已二进制形式存储,用户需要自行进行类型转换
- 在物理存储上同一个族的数据是存储在一起的
- 列
- 时间戳:记录更新的时间
- 更新时添加一条记录
- 查找时取最新的时间的记录
系统架构
- client:包含访问hbase的接口,维护着cache来加快对hbase的访问,比如region的位置信息
- zookeeper
- 保证任何时候,集群中只有一个running master
- 存储所有region的寻址入口
- 实时监控region server的状态,将region的上线和下线信息实时通知master
- 存储hbase的schema,包括有哪些table,每个table有哪些column family
- master
- 启动多个hmaster
- 通过zookeeper的master election机制保证总有一个master运行
- 为region server分配region,并且使其负载平衡
- 发现失效的region server并重新分配其上的region
- region server
- 维护master分配给它的region,处理对这些region的IO请求
- 负责切分在运行过程中变得过大的region
hbase shell
hbase可以进行的操作