Consistent Join Queries in Cloud Data Stores
NoSQL Cloud data stores provide scalability and high availability properties for web applications, but do not support complex queries such as joins. Developers must therefore design their programs according to the peculiarities of NoSQL data stores rather than established software engineering practice. This results in complex and error-prone code, especially when it comes to subtle issues such as data consistency under concurrent read/write queries. CloudTPS implements support for join queries and strongly consistent multi-item read-write transactions in a middleware layer which stands between the Web application and its data store. CloudTPS supports the two main families of scalable data layers: Bigtable and SimpleDB. Performance evaluations show that the authors' system scales linearly under a demanding workload composed of join queries and read-write transactions.