大数据入门第三天之HBase

1.HBase的简介

在这里插入图片描述
HBase是分布式存储,面向列的数据库(不是传统的关系型数据库(基于行存储)),然后水平可扩展性强,一般列能有几百万列,然后行的话大概是有十亿行,是超大规模的数据库,然后HBase是谷歌BigTable的开源实现,主要应用于互联网服务领域和传统行业的在线式数据分析系统

在这里插入图片描述

为什么要有HBase?
因为Hadoop主要是离线的大规模处理,然后实时处理比较慢有延迟

HBase和传统的关系数据库的区别
数据类型全是未经解释的字符串(需要程序员自己去进行类型解析)就像java的字节数组
数据操作 就是连接操作没有别的操作了
存储模式 基于列
数据索引 行键对的形式
数据维护 就算数据被更新了旧数据依然在
可伸缩性 非常好
在这里插入图片描述
在这里插入图片描述

HBase访问接口
1.Java API
2.shell
在这里插入图片描述

2.HBase的数据模型

在这里插入图片描述
为什么HBase要保存旧版本呢?
因为HBase的底层是由HDFS存储的,HDFS不支持文件的修改只支持文件的追加,所以在新的文件(EditLog)中追加数据,并且标记时间戳就能实现HBase的修改了

HBase中的四个主要元素

在这里插入图片描述

HBase中的概念视图以及物理视图
这也解释了为什么HBase是一个稀疏的表了(但是实际上不是这样)

在这里插入图片描述
不同的列族在底层中其实是分开存储的
在这里插入图片描述

传统的数据库的优劣
劣主要表现在分析某个数据时,例如分析用户的年龄分布特征之类的话,代价就很高了(需要每一行都去扫描 效率低下)
在这里插入图片描述
数据如果以传统的事务操作(增删改查就用行式)
如果主要去分析数据的话(用列式)
在这里插入图片描述

3.HBase的实现原理

HBase的功能组件
在这里插入图片描述
功能组件的关系
在这里插入图片描述
两个核心概念表和Region
在这里插入图片描述
在这里插入图片描述
怎么实现Region的定位
在这里插入图片描述
根数据表 :-ROOT表存储的是元数据信息(只有一个),即数据存储在哪儿了
元数据表 :.META表存储的是Region id和Region服务器 id的关系映射 即数据存储在哪个具体的服务器上了
在这里插入图片描述
在这里插入图片描述

4.HBase的运行机制

HBase的系统架构
在这里插入图片描述
Master服务器的作用
在这里插入图片描述
Region服务器的工作原理(就是存储具体数据的)
在这里插入图片描述
1个Region服务器包含多个Region然后公用一个HLog,其中每个Region中的列族称为Store,数据首先是写到MemStore的缓存当中(保证数据的可靠性和安全性)(其中会写HLog的日志中),当缓存满的时候在刷写到StoreFile(磁盘中了)中(StoreFile底层是借助于HDFS来存储的)

Store的工作原理
在这里插入图片描述

在这里插入图片描述
HLog的工作原理
zookeeper用来监视集群是否发生故障,然后通知相关的Master
HLog就是用来当服务器出现故障是就行修复的,因为日志中记录了很多相关的操作
在这里插入图片描述

4.HBase的应用方案

在这里插入图片描述

5.HBase的常用Java API

https://www.cnblogs.com/jieran/p/9161577.html
API的使用
https://www.cnblogs.com/gongxijun/p/5651834.html
HBase的官方API
https://hbase.apache.org/apidocs/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑瞳丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值