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
上一篇下一篇

猜你喜欢

热点阅读