
Modern cloud computing systems usually provide a highly scalable and fault-tolerant data store that sacrifices other features. Often, these systems may not support transactions at all or else restrict transactions to one data item each. Recently techniques to support multi-item transactions in these types of systems have been successfully developed but have focused on transactions across homogeneous data stores. However, applications often need to store different data in different storage systems perhaps for legacy or interoperability reasons. We propose an approach that enables multi-item transactions across multiple heterogeneous data stores using only a minimal set of commonly implemented features such as single item consistency, conditional updates, and the ability to store additional metadata. We define an client-coordinate transaction commitment protocol that does not rely on a central coordinating infrastructure. We implement this as a Java library, we call Cherry Garcia (CG), that supports data store abstractions to Windows Azure Storage (WAS), Google Cloud Storage (GCS) and our own high-performance key-value store called Tora.
Page Count:
21
Publication Date:
2014-07-01
No comments yet. Be the first to share your thoughts!