pH1: A Transactional Middleware for NoSQL

Fabio Andre Castanheira Luis Coelho, Francisco Miguel Barros da Cruz, Ricardo Manuel Pereira Vilaca, Jose Orlando Pereira, Rui Carlos Mendes de Oliveira
2014 2014 IEEE 33rd International Symposium on Reliable Distributed Systems  
NoSQL databases opt not to offer important abstractions traditionally found in relational databases in order to achieve high levels of scalability and availability: transactional guarantees and strong data consistency. In this work we propose pH1, a generic middleware layer over NoSQL databases that offers transactional guarantees with Snapshot Isolation. This is achieved in a non-intrusive manner, requiring no modifications to servers and no native support for multiple versions. Instead, the
more » ... ons. Instead, the transactional context is achieved by means of a multiversion distributed cache and an external transaction certifier, exposed by extending the client's interface with transaction bracketing primitives. We validate and evaluate pH1 with Apache Cassandra and Hyperdex. First, using the YCSB benchmark, we show that the cost of providing ACID guarantees to these NoSQL databases amounts to 11% decrease in throughput. Moreover, using the transaction intensive TPC-C workload, pH1 presented an impact of 22% decrease in throughput. This contrasts with OMID, a previous proposal that takes advantage of HBase's support for multiple versions, with a throughput penalty of 76% in the same conditions
doi:10.1109/srds.2014.23 dblp:conf/srds/CoelhoCVPO14 fatcat:kochkj2ncradxndp2frkkwul64