Logical Data Independence in the 21st Century
Co-Existing Schema Version Support
InVerDa offers foolproof support for co-existing schema versions within one database. Agile developers use a refactoring-like database evolution language to evolve the database--both the schema and the data--along with the application. InVerDa automatically keeps former schema versions accessible, e.g. for other applications or former versions that are still used. Data written in any schema version is instantly visible in all other schema versions as well.
In modern software landscapes multiple applications, which co-exists in potentially multiple versions, share one database as their single point of truth. Managing the multitude of depending schema versions manually, is highly error-prone and explains significant costs in software projects. Developers have to realize the translation of data accesses between schema versions manually with hand-written SQL code; namely views, triggers, and migration script.
InVerDa provides integrated, easy-to-use, and robust support for co-existing schema versions within one database. The key idea is to rethink the way of evolving to new schema versions: Developers use a Database Evolution Language (DEL), which couples both schema and data changes in comprehensive Schema Modification Operations (SMO). The richer semantics of a DEL provide InVerDa with enough information to make data, written in any schema version, instantly available in all other schema versions as well. The physical database schema is transparently managed by InVerDa to obtain the best performance for the current workload.
This is the first important step towards logical data indepencence meeting the requirements of the 21th century.
InVerDa is a running tool and we encurage everyone to experience the foolproof database evolution firsthand. To free you from setting it up locally, you can try it on this website in four simple steps:
You get your own database instance at our server to play around. Please register, so we can be sure you're not a robot.
Evolve a database
Developer experience: With the InVerDa Console you can write BiDEL evolution scripts to create multiple co-existing schema versions.
Access schema versions
User experience: With the InVerDa Explorer you can browse all co-existing schema versions. Particularly you can insert, update, and delte data in any schema version and immediatly observe the effect on
all other schema versions.
Discuss and Contribute
This is ongoing research. So we are always happy to hear and discuss your concerns and ideas. Just contact us.
If you want to set it up locally, InVerDa is available as an Eclipse Plugin (with PostgreSQL as DBMS and Apache Server for Viewing) here.
supervisors: Hannes Voigt, Wolfgang Lehner
Database Systems Group Dresden
at Technische Universität Dresden
DFG Research Training Group
Role-based Software Infrastructures for continuous-context-sensitive Systems