Hbase原理加强篇
Hbase简介
HBase 是一个构建在 Hadoop 文件系统之上的面向列的数据库管理系统。
Hbase 的表具有以下特点:
容量大:一个表可以有数十亿行,上百万列;
面向列:数据是按照列存储,每一列都单独存放,数据即索引,在查询时可以只访问指定列的数据,有效地降低了系统的 I/O 负担;
稀疏性:空 (null) 列并不占用存储空间,表可以设计的非常稀疏 ;
数据多版本:每个单元中的数据可以有多个版本,按照时间戳排序,新的数据在最上面;
存储类型:所有数据的底层存储格式都是字节数组 (byte[])。
hbase中的数据怎么实现修改
hbase中的数据存储在hdfs中,而hdfs中的数据是不支持修改的,那hbase中的修改数据、delete等操作是怎么实现的呢?
如上图,客户端进行删除操作时,会往hdfs中的hfile文件中追加数据,数据中会记录用户的操作delete,为墓碑标记(标记着数据要删除),在下次获取该数据时,会发现有两个该数据,其中一条有墓碑标记,则不会返回客户端数据。
之后会将原来的数据和用户删除后生成的记录合并生成一个新的hfile文件。和hdfs不支持数据修改的是不相违背的,hbase实现修改是向文件后进行追加,再进行合并完成修改。
合并时机:
1、有大量的更新数据操作
2、有大量的小文件(列族太多,内存小)
3、TTL(有过期数据)
大合并和小合并
大合并是合并region,region在HDFS中对应一个文件夹,region的合并会涉及整个文件夹下的大量Hfile文件的合并,非常耗费资源;小合并是合并Hfile文件,将一个文件夹下的多个Hfile文件合并为一个Hfile文件
合并region操作 (shell)
merge_region ‘region_name’,‘region_name’
拆分
随着数据的增加,一个region管理的数据会越来越多,如果出现大量的查询此region数据的请求,那么这个region所在的RegionServer会出现并发热点问题,则需要拆分region。
缺点:拆分后要解决热点问题,实现负载均衡,就需要将拆分后的region移动到其他RegionServer上,拆分后的region会在Hdfs生成新的文件夹,其中会有很多的hfile文件,移动region和hdfs交互,会占用大量的IO资源。
Hbase原理加强篇相关推荐
- hbase原理与实践_HBase 性能调优第一弹:内存篇
这是使用 HBase 最不可避免的一个话题,就是 HBase 的性能调优,而且通常建立在我们对 HBase 内部运行机制比较了解的基础上进行的,因此无论怎么说,调优这块都是一个相对复杂的事情.这一篇我 ...
- HBase原理之数据读取流程
和写流程相比,HBase读数据是一个更加复杂的操作流程,这主要基于两个方面的原因:其一是因为整个HBase存储引擎基于LSM-Like树实现,因此一次范围查询可能会涉及多个分片.多块缓存甚至多个数据存 ...
- 《HBase原理与实践》阅读笔记
学习笔记(1-3章) 全书概述 1.HBase概述 1.1.Hbase发展历史 1.2.Hbase数据模型 1.3.Hbase体系结构 1.4.Hbase系统特性 2.Hbase基础数据结构与算法 2 ...
- Hbase原理与实践(学习笔记一:基本概念):
相关笔记: <Hbase原理与实践>读书笔记--1.HBase概述_凯哥多帅哦的博客-CSDN博客_hbase的实现原理1.1 HBase前世今生Google当年风靡一时的"三篇 ...
- Hugepages你用了吗?--原理概念篇
Hugepages你用了吗?----原理概念篇 Hugepages你用了吗?----测试案例篇 引子 系统进程是通过虚拟地址访问内存,但是CPU必须把它转换程物理内存地址才能真正访问内存.为 ...
- HBase原理 – snapshot 快照
目录 snapshot(快照)基础原理 snapshot能实现什么功能? hbase snapshot用法大全 hbase snapshot分布式架构-两阶段提交 snapshot核心实现 clone ...
- 深入浅出TCP/UDP 原理-UDP篇(2)及完整MATLAB实现UDP通信
目录 调试代码在文末 写在前面 3. UDP疑难杂症 3.1 UDP的传输方式:面向报文 3.2 UDP数据包的发送和接收问题 3.3 UDP丢包问题 3.4 UDP冗余传输 4 UDP真的比TCP要 ...
- 金字塔原理--第一篇读后感(第三章)
金字塔原理-第一篇表达的逻辑 自己的表达能力不太行,敲本书,瞅瞅别人的表达方式,学习下,共同进步呀! 文章目录 金字塔原理-第一篇表达的逻辑 第三章:如何构建金字塔 一.自上而下法 二.自下而上法 第 ...
- 金字塔原理--第一篇读后感(第二章)
金字塔原理-第一篇表达的逻辑 自己的表达能力不太行,敲本书,瞅瞅别人的表达方式,学习下,共同进步呀! 文章目录 金字塔原理-第一篇表达的逻辑 第二章:金字塔内部的结构 一.纵向关系 二.横向关系 三. ...
最新文章
- heritrix 3.2.0 -- 环境搭建
- NYOJ 70 阶乘因式分解(二)
- javascript OOP 面向对象编程
- Linux的内存理解
- mysql中索引类型索引方法_MYSQL索引的类型和索引的方式
- BundlePhobia
- 双离合档把上按钮作用_英特尔展示双屏幕概念笔记本:带有双铰链
- 由于在客户端检测到一个协议错误_HTTP协议,你了解多少?
- (转)MVC3 类型“System.Web.Mvc.ModelClientValidationRule”同时存在
- 测量两台机器的的网络延迟和时间差
- ***PHP各种编码的汉字字符串截取
- python50行小游戏_使用Python写一个小游戏
- 批处理清空文件夹内所有txt文件的内容
- Android apk下载与安装
- [转载]AutoCAD2013 以上利用AccoreConsole+ c# NetApi 批量处理图纸
- video-js rtmp直播、this .el_vjs_getproperty问题、多个rtmp播放、可用rtmp地址
- pcr技术发展史——人类核酸研究的前世今生
- windows系统配置静态路由
- 语音信号的基音参数提取
- bootstrap4 input-spinner数字增减框的使用