Academic
Publications
Schema evolution analysis for embedded databases

Schema evolution analysis for embedded databases,10.1109/ICDEW.2011.5767627,Shengfeng Wu,Iulian Neamtiu

Schema evolution analysis for embedded databases   (Citations: 1)
BibTex | RIS | RefWorks Download
Dynamic software updating research efforts have mostly been focused on updating application code and in-memory state. As more and more applications use embedded databases for storage, dynamic updating solutions will have to support changes to embedded database schemas. The first step towards supporting dynamic updates to embedded database schemas is understanding how these schemas change—so far, schema evolution studies have focused on large, enterprise- class databases. In this paper we propose an approach for automatically extracting embedded schemas from regular appli- cations, e.g., written in C and C++, and automatically computing how schemas change as applications evolve. To showcase our approach, we perform a long-term schema evolution study on four popular open source programs that use embedded databases: Firefox, Monotone, BiblioteQ and Vienna. Our study spans 18 cumulative years of schema evolution and reveals that change patterns and frequency in embedded databases differ from schema changes in enterprise-class databases that formed the object of prior studies. Our platform can be used for performing long-term, large-scale embedded schema evolution studies that are potentially beneficial to dynamic updating and schema evolution researchers. I. INTRODUCTION Database evolution, and software evolution in general, are facts of life: to remain competitive, software providers are un- der increasing pressure to frequently release software updates, to fix bugs and add new features. The most common update practice today is to stop the application, apply the update, and restart. Unfortunately, this stop/restart update method is at odds with providing a seamless user experience. Restarting a program, or rebooting the machine is disruptive for a mobile or desktop application and could be intolerable for a server with high-availability requirements. Many mobile, desktop, and server applications have recently started shifting from storing data in custom file formats towards storing data using a database management system contained within the application, hidden from the user, re- quiring no maintenance; these systems are called Embedded Databases (ED) (1). An ED enables an application to manage data in a safer and more flexible manner, while at the same time rendering the data easier to query. The shift towards EDs is evidenced by the popularity of SQLite, a server-less, zero- config SQL engine (2). SQLite is extremely popular: it is part of all major mobile platforms, Google Android, Apple iOS, Symbian and BlackBerry; operating systems (e.g., Mac
Cumulative Annual
View Publication
The following links allow you to view full publications. These links are maintained by other sources not affiliated with Microsoft Academic Search.
Sort by: