Multi-schema-version data management: data independence in the twenty-first century

Research output: Contribution to journalResearch articleContributedpeer-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 languageEnglish
Article number4
Pages (from-to)547-571
Number of pages25
JournalVLDB Journal
Volume27
Issue number4
Publication statusPublished - 1 Aug 2018
Peer-reviewedYes

External IDs

Scopus 85048359333
ORCID /0000-0001-8107-2775/work/142253505

Keywords

Keywords

  • Data independence, Database, Evolution