An approach of multi-row transaction management on HBase with serializable snapshot isolation
Ping Cai, NI Li-shun · 2012
Transaction is an important feature for databases, snapshot isolation (SI) is a transactional isolation level adopted by major database management systems. But most of NoSQL databases only provide limited transactional functionality, such as single-row transactions supported by Bigtable and HBase. This paper proposes an approach of distributed multi-row transaction management on HBase, which guarantees serializable snapshot isolation, while supporting scalability and availability as well. Several data structures and transaction protocols are designed to make transactions atomically commit. Snapshot isolation model is used to increase concurrency, and a method of dependency detection among transactions based on serialization graph eliminates serialization anomalies. The experiments on both transaction execution and performance imply that our approach is practical.