hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jason Huang <jason.hu...@icare.com>
Subject Re: HBase 'Real-Time' reads?
Date Wed, 12 Sep 2012 21:24:06 GMT
So - I guess at the time of the query we don't know if the data is in
Memstore or in the RegionServer. In order to ensure we get the most
recent version of data, every Hbase Read query will first go to
Memstore and see if the data is there, and then go to RegionServers if
it couldn't find that data in Memstore?

thanks,

Jason

On Wed, Sep 12, 2012 at 5:19 PM, Adrien Mogenet
<adrien.mogenet@gmail.com> wrote:
> WAL is just there for recover. Reads will meet the Memstore on their read
> path, that's how LSM Trees are working.
>
> On Wed, Sep 12, 2012 at 11:15 PM, Jason Huang <jason.huang@icare.com> wrote:
>
>> This might be a naive question but I am not able to find a good answer
>> from searching online.
>>
>> The online guide mentioned that "Puts and Deletes are collected into
>> an in-memory structure called the MemStore. Before the MemStore is
>> update the changes are written to a Write Ahead Log (WAL) to enable
>> recovery in case a server crashes. When it reaches a certain size the
>> MemStore is flushed to disk into StoreFile."
>>
>> So, if an application tried to query a certain piece of data that
>> hasn't been flushed to disk into StoreFile yet, where is HBase
>> designed to get that piece of data? Is it going to the Region servers
>> and tried to get the previous version of this data, or is it smart
>> enough to go to the MemStore or WAL to get the most recent version of
>> data?
>>
>> thanks!
>>
>> Jason
>>
>
>
> --
> Adrien Mogenet
> 06.59.16.64.22
> http://www.mogenet.me

Mime
View raw message