【HBase】HBase简介及部署与使用

本文详细介绍了HBase,一个基于Hadoop的分布式数据库,适用于处理大规模非结构化和半结构化数据。内容涵盖HBase出现的原因、与传统数据库的区别、数据类型、架构以及读写流程。此外,还讲解了HBase的部署步骤,包括环境配置、解压安装、修改配置和启动服务。最后,通过实例展示了HBase的基本操作,如创建表、插入数据、查询与更新等。
摘要由CSDN通过智能技术生成

一、HBase介绍

HBase是一个开源的非关系型数据库,是根据谷歌的论文Big Table设计开发的。HBase是一个高可靠、高性能、面向列、可伸缩的分布式数据库,主要用来存储非结构化和半结构化的松散数据。HBase的目标是处理非常庞大的表,可以通过水平扩展的方式,利用廉价计算机集群处理由超过10亿行数据和数百万列元素组成的数据表。

1、HBase出现的原因?

• hadoop虽然已经有了HDFS和mapreduce,但是只能很好的解决大规模数据的离线批量处理问题。无法满足大规模数据实时处理应用的需求。
• 并且HDFS面向批量访问模式,不是随机访问模式
• 传统的关系型数据库无法应对结构化和半结构的数据以及数据规模剧增的情况

2、HBase和传统的关系型数据库的区别
方面 传统的关系型数据库 Hbase
数据类型 有丰富的数据类型和存储方式,数据类型固定 数据类型不固定,把数据存储为未经解释的字符串
数据操作 有复杂的多表连接关系 只有简单的插入、查询、删除、清空等,不存在复杂的表与表之间的关系
存储模式 基于行 基于列,每个列族由几个文件保存,不同列族的文件是分离的
数据索引 针对不同列构建复杂的多个索引 只有一个索引,行键
数据维护 更新操作会用最新的值去替换原来的值,被覆盖后就不存在 HBase更新操作时,不会删除数据旧的版本,旧的新的都会存在
可伸缩性 关系型数据库很难实现横向扩展,纵向扩展的空间也有限 HBase是分布式数据库实现了灵活的水平扩展,可以随意的增加or减少硬件数量实现性能的伸缩
3、HBase数据类型

在这里插入图片描述

对上图的解释

  • 表:HBase采用表来组织数据,表由行和列组成,列划分为若干列族。
  • 行:每个HBase表都由若干行组成,每个行由行键(row key)来标识。
  • 列族:一个HBase表被分组成许多“列族”(Column Family)的集合,它是基本的访问控制单元。
  • 列名:列族里的数据通过限定符(或列)来定位。
  • 单元格:在HBase表中,通过行、列族和列限定符确定一个“单元格”(cell),单元格中存储的数据没有数据类型,总被视为字节数组byte[](第一个表的一个格子就是单元格)

对key value的解释

  1. Row Length:存储rowkey的长度,占2B (Bytes.SIZEOF_INT);
  2. Row:存储Rowkey实际内容,其大小为Row Length ;
  3. Column Family Length:存储列簇Column Family的长度,占1B (Bytes.SIZEOF_BYTE);
  4. Column Family:存储Column Family实际内容,大小为Column Family Length;
  5. Column Qualifier:存储Column Qualifier对应的数据。
  6. Time Stamp:存储时间戳Time Stamp,占8B (Bytes.SIZEOF_LONG);
  7. Key Type:存储Key类型Key Type,占1B ( Bytes.SIZEOF_BYTE),Type分为Put、Delete、DeleteColumn、DeleteFamilyVersion、DeleteFamily、Maximum、Minimum等类型,标记这个KeyValue的类型;--------->由于Key中其它的字段占用大小已经知道,并且知道整个Key的大小,因此没有存储Column Qualifier的大小。
4、HBase的架构

在这里插入图片描述

  • Zookeeper:作为分布式的协调。RegionServer也会把自己的信息写到ZooKeeper中,主用Master据此感知各个RegionServer的健康状态。
  • Client使用HBase的RPC机制与Master、RegionServer进行通信。Client与Master进行管理类通信,与RegionServer进行数据操作类通信。
  • HDFS:是Hbase运行的底层文件系统,HBase的数据全部存储在HDFS中
  • RegionServer:理解为数据节点,存储数据的。
  • Hmaster:分为主用master和备用master
    • 主用Master:负责HBase中RegionServer的管理,包括表的增删改查;RegionServer的负载均衡,Region分布调整;Region分裂以及分裂后的Region分配;RegionServer失效后的Region迁移等。
    • 备用Master:当主用Master故障时,备用Master将取代主用Master对外提供服务。故障恢复后,原主用Master降为备用。
  • MemStore:当RegionServer中的MemStore大小达到配置的容量上限时,RegionServer会将MemStore中的数据“flush”到HDFS中。
  • StoreFile:随着数据的插入&
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值