hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Weiping Qu ...@informatik.uni-kl.de>
Subject Re: Questions regarding HBase consistency
Date Tue, 26 May 2015 22:31:40 GMT
Hi Vlad,


Thank you for this explanation. I also got confused with the class name
"MultiVersionConsistencyControl.java" in the regionsever package, not
multiversionconcurrencycontrol.

>Hi, Weiping
>
>Consistency and isolation level are two different things. Strong data
>consistency means that you always get consistent reads after write (if
>you
>can order these events in a distributed system - read and write).
>Isolation
>level(s) are meaningful only in context of transactions : they
>determines
>how transaction integrity is visible to other users and systems.
>
>>>serializable snapshot isolation at table level is possible
>
>No. If you want you can do this on the application layer - have
>separate
>table to keep read/write locks (table-wise).
>
>-Vlad
>
>
>On Tue, May 26, 2015 at 3:04 PM, Weiping Qu <qu@informatik.uni-kl.de>
>wrote:
>
>>Dear HBase Community,
>>
>>As far as I know, HBase supports strong consistency at row level,
>>strictly
>>to say, at region level I think, since one MVCC instance is used in
>>each
>>HRegion instance to schedule writes and reads.
>>Read committed is the default transaction isolation level.
>>I am wondering whether serializable snapshot isolation at table level
>>is
>>possible like Postgresql or other MVCC-based databases.
>>However, as a scan might span across multiple regions in HBase, it is
>>likely that the scan results would have phantom reads on certain
>>regions.
>>So my questions is that, why strong consistency at region level
>>instead of
>>table level?
>>Is that really not needed? or due to scalability or high availability?
>>or
>>not easy to implement?
>>
>>Regards,
>>Weiping
>>


Mime
View raw message