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 <[email protected]> >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 >>
