Hbase
一.Hbase概述
- Hbase是一个领先的NoSQL数据库
- 是一个面向列的数据库
- 是一个分布式hash map
- 基于Google Big Table论文
- 使用HDFS作为存储并利用其可靠性
- Hbase特点
- 数据访问速度快,响应时间约2-20毫秒
- 支持随机读写,每个节点20k~100k+ ops/s
- 可扩展性,可扩展到20000+节点
二.Hbase发展史
时间 | 事件 |
---|---|
2006 | Google发表了关羽Big Table的论文 |
2007 | 第一个版本的HBase和Hadoop0.15.0一起发布 |
2008 | HBase成为Hadoop的子项目 |
2010 | HBase成为apache的顶级项目 |
2011 | Cloudera基于HBase0.90.1推出CDH3 |
2012 | HBase发布了0.94版本 |
2013~2014 | HBase先后发布了0.96/0.98版本 |
2015~2016 | HBase先后发布了1.0 , 1.1和 1.2.4版本 |
2017 | HBase发布了1.3版本 |
2018 | HBase发布了1.4和2.0版本 |
三.Hbase应用场景
- 增量数据-时间序列数据
- 高容量,高速写入
- 信息交换-消息传递
- 高容量,高速读写
- 内容服务-WEB后端应用程序
- 高容量,高速读写
四.Apache HBase生态圈
HBase生态圈技术
- Lily-基于HBase的CRM
- OpenTSDB-HBase面向时间序列数据管理
- Kylin-HBase上的OLAP
- Phoenix-SQL操作HBase工具
- Splic Machine-基于HBase的OLTP
- Apache Tephra -HBase事务支持
- TIDB-分布式SQL DB
- Apache Omid-优化事务管理
- Yarn application timeline server v.2 迁移到HBase
- Hive metadata存储可以迁移到HBase
- Ambari Metrics Server将使用Hbase做数据存储
五.HBase物理架构
1.HBase采用Master/Slave架构
* HMaster的作用
> 是Hbase集群的主节点,可以配置多个,用来实现HA
> 管理和分配Region
> 负责RegionServer的负载均衡
> 发现失效的RegionServer并重新分配其上的Region
2.RegionServer
- RegionServer负责管理维护Region
3.Region和table
4.Hbase逻辑构架-Row - Rowkey(行键)是唯一的并一排序
- Schema可以定义何时插入记录
- 每个Row都可以定义自己的列,基石其他Row不使用
相关列定义为列簇
- 使用唯一时间戳维护多个Row版本
在不同版本中值的类型可以but
- HBase数据库全部以字节存储
六.HBase数据管理
1.数据管理目录
- 系统目录表hbase:meta
> 存储元数据等 - HDFS目录中的文件
- Server上的region实例
2.HBase数据在HDFS上- 可以通过HDFS进行修复file
- 修复路径
RegionServer->Table->Region->RowKey->列簇
七.HBase架构特点
- 强一致性
- 自动扩展
当Region变大会自动分割
使用HDFS扩展数据并管理空间 - 写恢复
使用WAL(Write Ahead Log)
- 与Hadoop继承
八.HBase Shell
- HBase Shell是一种操作HBase的交