[Winter 2023] Survey and Evaluation of Database Management System Extensibility (Abi Kim)
Database management system (DBMS) extensibility is a feature which enables users to extend the DBMS with user software. However, the DBMS extensibility environment is fraught with perils, and DBMS developers have to resort to unspecified methods of developing extensions, including copying core DBMS source code and casing between different versions of the DBMS. Extending a DBMS to support new functionality is challenging due to the tight coupling between the system’s internal components. This thesis studies and evaluates the design of DBMS extensibility. We first provide a comprehensive taxonomy of the types of extensibility supported by DBMSs and the effects of supporting their functionality within the DBMS. Given that PostgreSQL has the most variegated extensibility ecosystem, we also provide an in-depth analysis of it, where we evaluate how composable extensions were with one another, extension source code quality, and extension complexity. To assist us with this evaluation, we introduce an automated PostgreSQL extension analysis framework that collects information on how an extension integrates into the DBMS. We present results from static and dynamic analysis for over 100 extensions. We show correlations between the lack of composability of extensions and several factors related to their complexity and source code. We conclude with a discussion of the design decisions and trade-offs with supporting extensions in a DBMS.
Abi Kim is a MS student in the Computer Science Department at Carnegie Mellon University. She studies databases because that's the right thing to do in life.