Improving cloud availability with on-the-fly schema updates

2013 
Database applications undergo frequent schema changes. To change the schema, the application has to be shut down and migrated to the new version, or run in a mixed mode that supports old and new clients, e.g., via schema versioning. Shutdowns are problematic for applications that cannot tolerate downtime such as embedded, real-time or mission-critical systems; in the Cloud, shutdowns can lead to Service Level Agreement violations or worse, to service interruptions for critical platforms such as healthcare. Mixed-mode operation raises programmability, consistency and performance degradation issues. In this paper we present a system that exploits the march-forward nature of many database applications (no need to support old schema versions after the schema update) to provide on-the-y updates while ensuring consistency, and being transparent to clients. We first study schema evolution and database usage based on longitudinal studies of four popular open source applications. Next, we implement support for safe on-the-y schema updates on top of the popular SQLite database engine. Finally, we evaluate our approach using real-world schema changes and database usage scenarios for applications running in the Cloud on the Amazon Web Services platform, and on server systems. We show how on-the-y schema updates can increase Cloud applications' availability from less than two nines (99%) to more than six nines (99.9999%). More generally, our experiments indicate that SQLite-based applications can enjoy fully automatic on-the-y schema updates at a low, transient overhead.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    28
    References
    10
    Citations
    NaN
    KQI
    []