0%

HBase入门

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