

Design and Properties of Transaction Processing System for Web Applications in the Cloud Computing
A transaction is a set of queries to be executed atomically on a single consistent view of a database. The main challenge to support transactional guarantees in a cloud computing environment is to provide the ACID properties of Atomicity, Consistency, Isolation and Durability without compromising the scalability properties of the cloud. However, the underlying data storage services provide only eventual consistency. We address this problem by creating a secondary copy of the application data in the transaction managers that handle consistency. Cloud computing platforms provide scalability and high availability properties for web applications but they sacrifice data consistency at the same time. However, many applications cannot afford any data inconsistency. We present a scalable transaction manager for cloud database services to execute ACID transactions of web applications, even in the presence of server failures. We demonstrate the scalability of our system using a prototype implementation.
We demonstrate the scalability of our transactional database service using a prototype implementation. Our system exploits two properties typical of Web applications to allow efficient and scalable operations. First, each transaction is encapsulated in the processing of a particular request from a user. Second, Web applications tend to issue transactions that span a relatively small number of well-identified data items. This means that the two-phase commit protocol for any given transaction can be confined to a relatively small number of servers holding the accessed data items.