首页 > 其他 > 详细

《HBase实战》学习笔记

时间:2018-03-26 22:52:37      阅读:250      评论:0      收藏:0      [点我收藏+]

第二章  入门

 

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实战》学习笔记

原文:https://www.cnblogs.com/mengchunchen/p/8654420.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!