HBase提供了各种锁机制和MVCC机制来保证数据的原子性,一致性等特性。其中使用互斥锁实现的行锁保证了行级的原子性,使用了jdk提高了读写锁实现了store级别,Region级别的数据一致性。同时使用行锁+MVCC机制实现了高性能非锁定读场景下的数据一致性。
MVCC(即多版本并发控制技术):它使得事务引擎不再单纯地使用行锁实现数据读写的并发控制,取而代之的是,把行锁与行的多个版本结合起来,经过简单的算法就可以实现非锁定读,进而大大提高了系统的并发性能。HBase正是使用行锁+MVCC保证高效的并发读写以及读写数据一致性。
总结:这类问题有一个通用的思路:做个缓存,先把没有确认的存着,等后期有时间了在逐个确认。