参考:http://www.rigongyizu.com/hbase-row-lock-and-multiversion-concurrency-control/
MVCC (Multiversion Concurrency Control),即多版本并发控制技术,它使得大部分支持行锁的事务引擎,不再单纯的使用行锁来进行数据库的并发控制,取而代之的是,把数据库的行锁与行的多个版本结合起来,只需要很小的开销,就可以实现非锁定读,从而大大提高数据库系统的并发性能。
HBase正是通过行锁+MVCC保证了高效的并发读写。
为什么需要并发控制
HBase系统本身只能保证单行的ACID特性。ACID的含义是:
- 原子性(Atomicity)
- 一致性(Consistency)
- 隔离性(Isolation)
- 持久性(Durability)
传统的关系型数据库一般都提供了跨越所有数据的ACID特性;为了性能考虑,HBase只提供了基于单行的ACID。
下面是一个