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