You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by Himanshu Vashishtha <va...@gmail.com> on 2010/09/01 17:16:39 UTC

Hfile - Storefile

It will be great if anyone point out the difference in their functionality.
What I understand is Storefile is made persistent in fs, compactions
occurred on these (to me, its an equivalent of SSTable).
Hfile is derived (evolved) from MapFile, giving access to faster random
reads (as it uses index to look for a key etc). Is it a handler sort of to
access the persisted Storefile? By their package structure, i think so
(Hfile is in io, storefile is in rs).

Now, the interesting thing is I know I am possibly wrong. As Ryan pointed
out recently:"Hfiles are write once read many. Once written they cannot be
modified so there is way to move things around."...
This is a SSTable property: they are immutable. And they are merged into one
by compactions (major).

I will appreciate if you please provide the missing link.

Thanks,
~Himanshu

Re: Hfile - Storefile

Posted by Jean-Daniel Cryans <jd...@apache.org>.
StoreFile is just a wrapper for HFile to add HBase-sugar on top of it.

J-D

On Wed, Sep 1, 2010 at 8:16 AM, Himanshu Vashishtha
<va...@gmail.com> wrote:
> It will be great if anyone point out the difference in their functionality.
> What I understand is Storefile is made persistent in fs, compactions
> occurred on these (to me, its an equivalent of SSTable).
> Hfile is derived (evolved) from MapFile, giving access to faster random
> reads (as it uses index to look for a key etc). Is it a handler sort of to
> access the persisted Storefile? By their package structure, i think so
> (Hfile is in io, storefile is in rs).
>
> Now, the interesting thing is I know I am possibly wrong. As Ryan pointed
> out recently:"Hfiles are write once read many. Once written they cannot be
> modified so there is way to move things around."...
> This is a SSTable property: they are immutable. And they are merged into one
> by compactions (major).
>
> I will appreciate if you please provide the missing link.
>
> Thanks,
> ~Himanshu
>