Multi-schema-version data management: data independence in the twenty-first century
Research output: Contribution to journal › Research article › Contributed › peer-review
Contributors
Abstract
Agile software development allows us to continuously evolve and run a software system. However, this is not possible in databases, as established methods are very expensive, error-prone, and far from agile. We present InVerDa, a multi-schema-version database management system (MSVDB) for agile database development. MSVDBs realize co-existing schema versions within one database, where each schema version behaves like a regular single-schema database and write operations are propagated between schema versions. Developers use a relationally complete and bidirectional database evolution language (BiDEL) to easily evolve existing schema versions to new ones. BiDEL scripts are more robust, orders of magnitude shorter, and cause only a small performance overhead compared to handwritten SQL scripts. We formally guarantee data independence: no matter how the data of the co-existing schema versions is physically materialized, each schema version is guaranteed to behave like a regular database. Since, the chosen physical materialization significantly determines the overall performance, we equip database administrators with an advisor that proposes an optimized materialization for the current workload, which can improve the performance by orders of magnitude compared to naïve solutions. To our best knowledge, we are the first to facilitate agile evolution of production databases with full support of co-existing schema versions and formally guaranteed data independence.
Details
Original language | English |
---|---|
Article number | 4 |
Pages (from-to) | 547-571 |
Number of pages | 25 |
Journal | VLDB Journal |
Volume | 27 |
Issue number | 4 |
Publication status | Published - 1 Aug 2018 |
Peer-reviewed | Yes |
External IDs
Scopus | 85048359333 |
---|---|
ORCID | /0000-0001-8107-2775/work/142253505 |
Keywords
ASJC Scopus subject areas
Keywords
- Data independence, Database, Evolution