HBASE入门笔记

Posted 毫末之木

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HBASE入门笔记相关的知识,希望对你有一定的参考价值。

一、Hbase是什么?

Hbase是Apache hadoop中的子项目,是根据Google的bigtable建模的,开源非关系型分布式数据库(列存储)。实现的编程语言是java。

hbase依托于hadoop的hdfs作为最基本存储单元,通过使用hadoop的DFS工具就可以看到这些数据,存储文件夹的结构,还可以通过mapreduce对hbase进行操作。(hbase建立在hdfs之上,可通过mapreduce操作数据)。

HBase在产品中还包含了Jetty,在HBase启动时采用嵌入式的方式来启动Jetty,因此可以通过web界面对HBase进行管理和查看当前运行的一些状态。

二、Hbase能干什么?

和传统数据库相比hbase是列存储nosql

行存储:

    -优点:一次性写入单个文件,保证数据完整性

    -缺点:数据读取过程中产生冗余数据

列存储:

    -优点:读取数据过程不会产生冗余数据,适合对数据完整性要求不高的大数据领域

    -缺点:写入效率差,写入多个文件

hbase优势

    海量数据存储

    快速随机访问

    大量写操作的应用

hbase应用场景

    互联网搜索引擎数据存储

    海量数据写入

    消息中心等

三、Hbase的数据模型

行键RowKey 时间戳 列族column Family 列族2。。。

会记录每一次对数据的操作,并且多次对相同键的数据的操作记录都会保留,所以可以维护多个版本

Rowkey 和每个列族都是一个文件,所以读取数据时不会产生冗余数据。

Hbase适合存储稀疏数据

hbase数据三维有序:key有序 列有序(列族和其中的列) 时间戳(版本)有序

四、Hbase的物理模型

随着数据不断的插入,region达到一定阈值会进行切分(region分裂)

先按行有序再切分都不同的region

Region是hbase分布式数据集群的存储最小单位

五、hbase表

    表-Htable

    按rowkey范围分的region--hregion--region server

    Hregion按列族-多个Hstore组成

    Hstore--memstore+HFiles(memstore类似环状缓存区的功能,HFiles本地文件)

    HFiles -- HDFS

Hstore是hbase的核心存储单元

Memstore默认阈值是128m,可以通过参数控制阈值大小

Hbase实际上存储又不存储,不存储是hbase真正数据存储在hadoop的hdfs上,存储是说hbase又记录了region等相关信息。

六、hbase的系统结构

    Client--访问hbase的接口,并维护Cache(Client中的缓存加速)加速region Server的访问。

    Master--负载均衡,分配region到Region Server

Zookeeper

-保证集群中只有一个master

-实时监控region server的上下线信息,并通知master

七、HBase的容错机制

Zookeeper协调集群所有节点的共享信息,在HmasterHregionServer连接到zookeeper后创建ephemeral(临时)节点,并使用心跳机制维持这个节点的存活状态,如果临时节点失效,则hmaster会受到通知,并做相应的处理。

以上是关于HBASE入门笔记的主要内容,如果未能解决你的问题,请参考以下文章

HBase入门笔记--读性能优化

Sqoop入门笔记-----架构以及应用介绍

Hbase从入门到精通,精心整理的学习笔记,自学党快来瞅一瞅,赶紧收藏吧!

Hive入门笔记-----架构以及应用介绍

habse入门级别的笔记(摘抄)

《HBase实战》学习笔记