FlurryDB: A Dynamically Scalable Relational Database With Virtual Machine Cloning
Stateless services are easy to scale in the cloud since new replicas of these services can be created at any time and they operate completely independently of other instances. In contrast, scaling stateful services, such as a database system, can take minutes or even hours due to the need to present a consistent view of the system for users of the service. Currently, this problem is addressed by resource over-provisioning in anticipation of demand spikes. FlurryDB uses virtual machine cloning to improve resource utilization by drastically reducing the latency required to add a new replica. The authors also show that FlurryDB is capable of handling updates to resources in a fashion that preserves consistency across the cloning boundary.