HBase-存储文件与HFile和Compaction

时间:2015-07-23 23:24:23

标签: hbase

存储文件和HFile有什么区别??

我对压缩有基本的想法,即存储文件合并在一起以减少磁盘的搜索。

这是正确的吗?有人可以解释更多关于压缩的信息,比如确切的过程及其工作原理吗?

2 个答案:

答案 0 :(得分:9)

Store File和HFile是同义词,用于定义相同的概念。

当某些东西被写入HBase时,它首先被写入内存存储(memstore),一旦这个memstore达到一定的大小,就会被刷新到磁盘上的一个存储文件中(所有内容也会立即写入日志)文件的耐用性)。在磁盘上创建的商店文件(或HFiles)是不可变的。有时,商店文件会合并在一起,这是通过一个名为压缩的过程来完成的。

有关统计信息的详细信息,请参阅here。快乐学习

答案 1 :(得分:2)

当MemStore达到给定大小(hbase.hregion.memstore.flush.size)时,它会将其内容刷新到StoreFile。商店中的StoreFiles数量会随着时间的推移而增加。压缩是一种通过将它们合并在一起来减少Store中StoreFiles数量的操作,以提高读取操作的性能。压缩可能需要大量资源,并且可能会因许多因素而有助于或阻碍性能。

压缩分为两类:次要和主要。