HBase
2019-07-09 本文已影响0人
上山走18398
简述
分布式数据库,对业务数据进行存储
数据库的架构原理,存储方式,优劣性等
1 HBase的应用场景
2 HBase的概念与定位
3 HBase架构体系与设计模型
4 HBase的安装部署
1 HBase的应用场景
HBase能做啥,和类似的有啥区别
1 海量数据存储:上百万的列,上亿条数据
2 准实时查询
HBase的应用场景及特点
交通:GPS信息?
金融
电商
移动
HBase的特点:
容量大,HBase单表可以有百亿行,百万列,数据矩阵横向和纵向两个纬度支持数据量级都非常具有弹性
HBase是面向列的存储和权限控制,并支持独立检索,这样在查询只需少数几个字段,能大大减少读取的数据量(动态增加列,不需要固定)
多版本
HBase每一个列数据存储有多个Version
稀疏性
为空的列并不占用存储控件,表可以设计的非常稀疏
扩展性:
底层依赖于HDFS, 动态的增加机器,不需要数据迁移啥的、
高可靠性
WAL机制保证了数据写入时不会因集群异常而导致写入数据丢失:Replication机制保证了集群出现严重问题时,数据不会发生丢失或损坏。
而且HBase底层使用HDFS HDFS本身也有备份
底层的LSM数据结构和Rowkey有序排列等架构上的独特设计,
使得Hbase具有非常高的写入性能。
regionqiefen,主键索引和缓存机制使得Hbase在海量数据下具备一定的随机读取性能
该性能针对Rowkey的查询能够到达毫秒级别
2 HBase的概念与定位
BigTable? --》 HBase
如何选择合适的HBase版本?
官网版本:
CDH版本:http://archive.cloudera.com/cdh5 ---兼容性测试,较稳定
认识HBase在Hadoop2.x生态系统中的定位
数据存储,基于HDFS
3 HBase架构体系与设计模型
HBase架构体系
1. Master
RegionServer: 报告运行状态,管理哪些Region报告给Master 同时报告给Zoo keep
相当于 NameNode Datanode
2. Zookeeper: 分布式协调框架 --依赖
3. HDFS: ---依赖
HBase设计模型
表结构模型
Column Family1 | Column Family2 | Column Family3
Col列。。。。。。。。。。。。。。。。。。。。。。。
个人信息 | 教育经历 | 工作经历 //列簇
姓名| //列动态增加
数据模型
Row Key |Time Stamp | 列簇 | 列簇。。。。。
--------------------|列|值 | 列|值
列簇: 一张表列簇不会超过5ge
每个列簇中的列数没有限制
列只有插入数据后存在
列在列簇中是有序的
HBase 和关系数据库表结构的对比
HBase 列动态增加 关系不是这样
数据自动切分 关系不是这样
高并发读写 关系不是这样,需第三方插件,如缓存
不支持条件查询 复杂查询
4 HBase的安装部署
HDFS + Zookeeper 前置条件
JDK
Hadoop-2.5 及以上
Zookeeper 3.4.5
集群配置,如有三台机器
HBase表操作命令
Create
put
Count
Delete
Scan
get
truncate
Describe
is_enabled
Drop
Enable
is_disabled
Disable
List
总结:
HBase是一个分布式的数据库
主要作用:海量数据的存储和海量数据的准实时查询
》应用场景
交通 金融 电商 移动
》HBase特点
容量大
列式存储
多版本
扩展性
稀疏性
高性能 :读写
可靠性
二 HBase的定义和定位
》官方信息
》Hadoop生态系统中对于Hbase的定位
三 Hbase的架构体系和设计模型
》服务架构体系
1) hbase的主要进程:master regionserver
2)hbase所依赖的两个外部服务:zookeeper HDFS
单点故障的处理?
》设计模型
1)表结构 表名 列簇名指定即可
2)表数据
四 hbase的安装部署
》Hbase部署条件
1 JDK 1.7以上
2 Hadoop2.5.x以上
3 zookeeper3.4.x以上的版 (至少3台以上的部署)
》Hbase部署
1)Hbase-env.sh
2)Hbase-site.xml
配置内容:来自官方网站
3)regionserver
五 Hbase shell
》 DDL 操作
create describle disable enable drop ..
》DML操作
put delete get count scan