Write Fast, Read in the Past
- 24 November 2015
- conference paper
- conference paper
- Published by Association for Computing Machinery (ACM)
Abstract
Client-side apps (e.g., mobile or in-browser) need cloud data to be available in a local cache, for both reads and updates. For optimal user experience and developer support, the cache should be consistent and fault-tolerant. In order to scale to high numbers of unreliable and resource-poor clients, and large database, the system needs to use resources sparingly. The SwiftCloud distributed object database is the first to provide fast reads and writes via a causally-consistent client-side local cache backed by the cloud. It is thrifty in resources and scales well, thanks to consistent versioning provided by the cloud, using small and bounded metadata. It remains available during faults, switching to a different data centre when the current one is not responsive, while maintaining its consistency guarantees. This paper presents the SwiftCloud algorithms, design, and experimental evaluation. It shows that client-side apps enjoy the high performance and availability, under the same guarantees as a remote cloud data store, at a small cost.Keywords
Funding Information
- Seventh Framework Programme (609551)
- Google (European Fellowship in Distributed Computing 2010)
- Agence Nationale de la Recherche (ANR-10-BLAN 0208)
This publication has 24 references indexed in Scilit:
- Limitations of Highly-Available Eventually-Consistent Data StoresPublished by Association for Computing Machinery (ACM) ,2015
- Putting consistency back into eventual consistencyPublished by Association for Computing Machinery (ACM) ,2015
- Replicated data typesPublished by Association for Computing Machinery (ACM) ,2014
- Highly available transactionsProceedings of the VLDB Endowment, 2013
- Bolt-on causal consistencyPublished by Association for Computing Machinery (ACM) ,2013
- ChainReactionPublished by Association for Computing Machinery (ACM) ,2013
- MobiusPublished by Association for Computing Machinery (ACM) ,2012
- Benchmarking cloud serving systems with YCSBPublished by Association for Computing Machinery (ACM) ,2010
- Characterizing user behavior in online social networksPublished by Association for Computing Machinery (ACM) ,2009
- Causal memory: definitions, implementation, and programmingDistributed Computing, 1995