HBase

作者: 上山走18398 | 来源:发表于2019-07-09 07:21 被阅读0次

    简述

    分布式数据库,对业务数据进行存储
    数据库的架构原理,存储方式,优劣性等
    
    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

    相关文章

      网友评论

          本文标题:HBase

          本文链接:https://www.haomeiwen.com/subject/nectkctx.html