欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Hbase入门(一)——初识Hbase

程序员文章站 2022-12-21 20:27:39
本文将介绍大数据的知识和Hbase的基本概念,作为大数据体系中重要的一员,Hbase弥补了Hadoop只能离线批处理的不足,支持存储小文件,随机检索。而这种特性使得Hbase对于实时计算体系的事件存储有天然的较好的支持。这使得Hbase在实时流式计算中也扮演者重要的角色。 1、大数据与Hbase 大 ......

Hbase入门(一)——初识Hbase

本文将介绍大数据的知识和hbase的基本概念,作为大数据体系中重要的一员,hbase弥补了hadoop只能离线批处理的不足,支持存储小文件,随机检索。而这种特性使得hbase对于实时计算体系的事件存储有天然的较好的支持。这使得hbase在实时流式计算中也扮演者重要的角色。

Hbase入门(一)——初识Hbase

1、大数据与hbase

大数据在近几年发展迅速,而实时计算也是一个重要的发展趋势。不管是企业中的日志数据,还是传感器、智能设备等等产生的数据,不计其数。

而这些数据中结构化的数据只占一小部分,大部分是非结构化的数据。这个时候,比如图片视频等就不能轻松的存储在关系型数据库中,而大数据是可以对各种类型的数据都可以进行处理的。

Hbase入门(一)——初识Hbase

但关系型数据库有几点缺陷:

无法应对高并发的考验,没有办法横向扩展,事务一致性对性能的影响。

而nosql数据库,也就是not only sql的缩写。扩展性强,并发性能好,数据模型灵活。

hbase,也就是hadoop database是一个高可靠、高性能、可伸缩的分布式数据库。hbase参考了谷歌的bigtable建模,使用hdfs作为底层存储。使用zookeeper作为协同服务组件。

hbase使用java编写,还是一种nosql数据库,这些特性决定了hbase独特的应用场景。

2、概念特性

hbase是一个数据库----可以提供数据的实时随机读写

hbase与mysql、oralce、db2、sqlserver等关系型数据库不同,它是一个nosql数据库(非关系型数据库)

hbase的表模型与关系型数据库的表模型不同:

​  hbase的表没有固定的字段定义;

​  hbase的表中每行存储的都是一些key-value对;

​  hbase的表中有列族的划分,用户可以指定将哪些kv插入哪个列族;

​  hbase的表在物理存储上,是按照列族来分割的,不同列族的数据一定存储在不同的文件中;

​  hbase的表中的每一行都固定有一个行键,而且每一行的行键在表中不能重复;

​  hbase中的数据,包含行键,包含key,包含value,都是byte[ ]类型,hbase不负责为用户维护数据类型;

​  hbase对事务的支持很差;

hbase相比于其他nosql数据库(mongodb、redis、cassendra、hazelcast)的特点:

hbase的表数据存储在hdfs文件系统中

从而,hbase具备如下特性:存储容量可以线性扩展; 数据存储的安全性可靠性极高!

3、核心模块

Hbase入门(一)——初识Hbase

客户端client

整个hbase的入口,使用者通过客户端操作hbase。通过客户端与hmaster和regionserver进行通讯。管理类操作与hmaster通信,读写类操作与regionserver通讯。

协调服务zookeeper

zookeeper负责管理hbase中多个hmaster的选举,服务器间状态同步。

主节点hmaster

hmaster可以启动多个,由zookeeper保证总有一个正常运行,其他作为备选。

hmaster主要负责table和region的管理工作。

节点hregionserver

hregionserver主要负责响应用户io请求,向hdfs中读写数据。hregionserver管理了一系列的hregion对象。hregion对应了table中的一个region。hregion由多个hstore组成,hstore对用了table中一个column family。

而且每个hregionserver都有一个hlog对象,用于数据恢复。

4、使用场景

搜索引擎

生成索引,在查询时通过对条件的拼接,迅速的查找到要查询的数据。

实时流式计算

不管是实时的推荐系统,还是日志的增量存储,都是实时流式计算的一个应用。

通过将数据增量的存入hbase,并在流式处理中实时查询hbase,结合历史得到最终的分析结果。

更多hbase,flink,kafka等实时流式计算相关博文,欢迎关注实时流式计算:

Hbase入门(一)——初识Hbase