HBase的应用场景及特点
HBase是一个分布式的数据库,主要用于海量数据的存储和海量数据的准实时查询。HBase可支持100亿行*100万列的表。而对于关系型数据库,单表超过500万行,列超过30列则需要重新设计了。
应用场景
交通
金融
电商
移动 - 如通话记录
HBase的特点
容量大
TB级别,上亿行的数据
面向列
列式存储,可以自由增加列
多版本
一行中,多列对应多版本
稀疏性
由于是列式存储,列的值不存在,则不需要占用空间。
扩展性
底层依赖于HDFS,动态增加DataNode就行了
可靠性
基于HDFS分布式文件系统。基于副本数和日志信息可恢复。
高性能
LSM数据结构和Rowkey有序排列,读写性能高。
HBase的概念与定位
官方对于HBase的概念描述
hadoop生态系统中对于HBase的定位
HBase的架构体系与设计模型
服务架构体系
HBase主要进程
Master
RegionServer
类似于NameNode和DataNode
HBase依赖的两个外部服务
Zookeeper
HDFS
设计模型
表结构
表数据
个人信息 | 教育经历 | 工作经历
列簇
一张表列蔟不会超过5个
每个列蔟中的列数没有限制
列只有插入数据后存在
列在列蔟中是有序的
HBase表与关系型数据库表结构对比
列动态增加
数据自动切分
高并发读写
不支持条件查询,但关系型支持复杂查询
HBase的安装部署
部署条件
JDK 1.7以上
Hadoop 2.5.x以上
Zookeeper 3.4.x以上
部署
hbase-env.sh
hbase-site.xml(hbase-default.xml)
regionserver
HBase Shell
DDL 操作
create
describe
disable
enable
drop
DML 操作
put
get
delete
count
scan