signed

QiShunwang

“诚信为本、客户至上”

Hbase入门

2021/6/3 17:10:58   来源:

Hbase学习过程

1、Hbase能做什么?

Hbase是一个分布式的数据库

1、海量数据存储 2、准实时查询

2、Hbase的应用场景以及特点

(1)应用场景:

交通,金融,电商,移动

(2)特点:

1、容量大,单表可以有百亿行,百万列,数据横向和纵向两个维度所支持的数据量都非常具有弹性。

2、面向列:是面向列的存储和权限控制,并支持独立检索 ,列式存储,其数据在表中是按照某列存储的,这样在查询只需要少数几个字段的时候,就可以大大减少读取的数据量。

3、多版本:每一列的数据存储有多个Version

4、稀疏性 为空的列不占用存储空间,表可以设计的非常稀疏

5、扩展性 底层依赖HDFS。

6、高性能 底层LSM数据结构和Rowkey有序排列等架构上的独特设计,使得Hbase具有非常高的写入性能。

region切分,主键索引和缓存机制可以使得Hbase在海量数据下具备一定的随机读取性能,该性能针对Rowkey的查询能够到达毫秒级别。

3、深刻了解Hbase概念

是一个高可靠性、高性能、列存储、可伸缩、实时读写的分布式数据库系统。

4、Hbase版本选择

一般都会选择稳定的版本 ,cdh整合版本 ,不会选择官方版本,官方版本可能不稳定(有测试版本)

5、Hbase架构体系

Hadoop EcoSystem中的各层系统,其中HBase位于结构化存储层,Hadoop HDFS为HBase提供了高可靠性的底层存储支持,Hadoop MapReduce为HBase提供了高性能的计算能力,Zookeeper为HBase提供了稳定服务和failover机制。

此外,Pig和Hive还为HBase提供了高层语言支持,使得在HBase上进行数据统计处理变的非常简单。 Sqoop则为HBase提供了方便的RDBMS数据导入功能,使得传统数据库数据向HBase中迁移变的非常方便。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VsDQK58x-1622710648171)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210603145501452.png)]

架构服务都是基于HDFS操作的,Zookeeper作为分布式协调调用的。 数据都存储在RegionServer中,管理Region,状态都会去报告Master,也会把状态写到ZooKeeper中,负责监听。

6、Hbase设计模型

列簇 ,创建表的时候不需要指定列,只需要指定列簇,如下图
在这里插入图片描述

在这里插入图片描述

RowKey就是行的主键, TimeStamp 时间戳

关于列簇:

1、一张表里的列簇不会超过五个,列簇多了可能会增加和磁盘的交互,存储,降低Hbase的性能。

2、每个列簇中的列数没有限制。

3、列是动态增加的,只有查询数据以后才会存在,没有插入数据,列不会占用磁盘空间。

4、列在列簇中是有序的

7、Hbase表和关系型数据库的比较

在这里插入图片描述

8、Hbase安装以及说明

1、JDK 1.7以上

2、Hadoop-2.5.0以上

3、Zookeeper03.4.5