Jovaku: Globally Distributed Caching for Cloud Database Services Using DNS
Robert Pettersen, Steffen Viken Valvåg, Åge Kvalnes, Dag Johansen · 2014
Cloud database services are a convenient building block for emerging mobile cloud applications. A central database can simplify application architectures by serving both as a reliable point of contact and as a repository for critical state. Meanwhile, the issues of availability and scalability can be delegated to the cloud service provider. The convenience of this approach is balanced by associated costs, both in terms of latency and financial expenses. Hence, an attractive middle ground is to employ caching of data in a layer between applications and the cloud, to reduce the load imposed on the cloud database service. This paper presents Jovaku, a generic caching layer for cloud database services that can induce significant performance improvements and cost savings. Jovaku demonstrates the viability of a truly global caching infrastructure by building on the existing DNS system. Database operations are relayed through the DNS protocol, allowing results to be cached in DNS servers close to client devices. This greatly simplifies deployment, and offers supreme availability, allowing devices anywhere to benefit from database caching. Our evaluation shows that the latency to access Amazon DynamoDB is significantly reduced for requests that hit the cache, and that applications can benefit from caching with hit rates as low as 5%.