《HBase实战》学习笔记

Posted __Meng

tags:

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

第二章  入门

 

HBase写路径:

  增加新行和修改已有的行,内部机制是一样的。

  写入的时候,会写到预写日志(WAL)和MemStore中。

  MenmStore是内存里的写入缓冲区。填满后,会将数据刷写到硬盘里,生成一个HFile,HFile是HBase的低层存储格式。

  一个列簇可以有多个HFile,但一个HFile不能存储多个列簇的数据。

  一般使用HDFS作为底层文件系统。

  如果服务器宕机,MemStore里丢失的数据可以通过WAL来恢复。

 

HBase读路径:

  读数据的时候,要从HFile和MemStore里拿数据。

  读操作使用了BlockCache,用来保存从HFile里频繁读入内存的数据。

  Block是HBase从硬盘读数据的基本单位,默认64KB。

  一个完整行的数据可能存放在多个HFile里。

 

删除:

  HFile是不可用修改的,所以删除不是立即删除内容,只是给记录打上删除标记,实质上是增加一条墓碑记录写入进来。

  打上删除标记的内容不会被get和scan返回。

  只有执行大合并,被删除的记录占用的空间才回被释放。

 

合并:

  合并分为大合并(major compaction)和小合并(minor compaction)。

  小合并将多个小HFile合并成一个大HFile。读出已有的多个HFile内容,写入到一个新文件,删除老文件。

  大合并将处理给定region的一个列簇的所有HFile。

  大合并是清理被删除记录的唯一机会。因为不能保证被删除的记录和墓碑记录在一个HFile里,只有大合并才能同时访问到这两种记录。

以上是关于《HBase实战》学习笔记的主要内容,如果未能解决你的问题,请参考以下文章

学习笔记HBase概念原理适用场景学习笔记

学习笔记HBase概念原理适用场景学习笔记

HBase学习笔记

Spark学习笔记——读写Hbase

HBase笔记:对HBase原理的简单理解

hbase 学习笔记