Are you an EPFL student looking for a semester project?
Work with us on data science and visualisation projects, and deploy your project as an app on top of Graph Search.
The current design of database drivers – a necessary evil for interacting with a DBMS – imposes undue burdens on those who install, upgrade, and manage database systems and their applications. In this paper, we introduce Drivolution, a new architecture for DB drivers that reduces the cost, risk, and downtime associated with driver distribution, deployment and upgrade in large production environments. We view DB drivers as an integral part of the DB schema, so Drivolution stores drivers in the database itself. Drivers are dynamically downloaded and installed by a small bootloader that resides within each client applications. Downloading, installing, and upgrading drivers occurs transparently to applications, and existing DB management mechanisms are used to define and enforce desired security policies. We show how Drivolution can be integrated into legacy DB engines, replication middleware, and applications, without requiring changes to the server or client applications. We present several case studies that illustrate the use of Drivolution in production environments.
Anastasia Ailamaki, Iraklis Psaroudakis
Jonathan Graves, Wilfred Anthony Cooper, Daniele Brunetti, Alberto Mariani, Andreas Kleiner, Guillermo Bustos Ramirez