Hbase
一、介绍
1、hbase是面向列的数据库,构建在hadoop之上
2、类似于google的bigtable,对海量结构化数据的快速随机访问
3、是hadoop生态系统的一部分,提供实时随机读写
二、hbase与hadoop的区别
hdfs:
1、分布式文件系统,存储大量数据
2、不支持快速单个记录查找
3、提供了高延迟批处理
4、只提供数据按序访问
hbase:
1、数据库,构建在hdfs之上
2、支持大表的快速查找
3、提供了单行记录低延迟的随机访问(10亿级别)
4、内部使用hash表提供的随机访问,在hdfs上存放索引文件,用于快速查找
三、hbase存储机制
1、面向列族的数据库,适用于海量数据的随机读写
2、table中之定义了列族,表按照row存储
3、术语
table : 表,是row的集合
row : 行,是列族的集合
column famil : 列族,是列的集合
colum : 列,是kv对集合
4、面向行和面向列的区别
row
a、适合OLTP
b、针对行列较少的
column
a、适合于OLAP
b、大表
四、hbase和RDBMS的区别
hbase
1、是无模式的,没有列的定义,之定义列族,列是key
2、适合于宽表,水平可伸缩
3、没有事物支持
4、不是规范化的
5、数据是结构化和半结构化的
rdbms
1、有模式的,描述整个table结构
2、适合于小表,难以扩展
3、事物性的
4、规范化的
5、结构化的
五、hbase架构
1、master---slave 主从结构
2、table从竖直方向进行切割,分成若干个区域,由每个regionserver进行处理
3、master server(ms)
a、负责指派region给rs,通过ak获得task的帮助
b、处理跨rs的region的负载均衡问题
c、从 繁忙服务器到空闲服务器之间的数据转载
d、通过裁定负载均衡判断集群的状态
4、region
被切割的表,跨rs
5、region server(rs)
a、和client通信
b、处理数据操作
c、处理他下面的所有的region的读写请求
d、通过阈值决定size