Analyzing the Adoption of Database Management Systems Throughout the History of Open Source Projects
Camila A. Paiva, Raquel Maximino, Frederico Paiva, Rafael Accetta Vieira, Nicole Espanha, Jo\~ao Felipe Pimentel, Igor Wiese, Marco Aur\'elio Gerosa, Igor Steinmacher, Leonardo Murta, Vanessa Braganholo

TL;DR
This study analyzes how open-source Java projects adopt, combine, and replace various database management systems over time, revealing patterns of stability, migration, and the role of ORMs.
Contribution
It provides an empirical analysis of DBMS usage, migration, and co-occurrence patterns in open-source projects, highlighting the prevalence of polyglot persistence and ORM mediation.
Findings
MySQL and PostgreSQL are the most popular relational DBMSs.
Redis and MongoDB are the most used non-relational systems and tend to be stable.
HyperSQL is more frequently replaced during project evolution.
Abstract
Database Management Systems (DBMSs) are widely used to store, retrieve, and manage the data handled by modern applications. Although prior work has studied the co-evolution of DBMSs and application source code, less is known about DBMS adoption, co-use, and replacement in real systems. This paper presents a historical study of DBMS usage in 362 popular open-source Java projects hosted on GitHub. We investigated the adoption of the top DBMSs ranked by DB-Engines, covering relational and non-relational systems. Using source-code heuristics, we analyzed DBMS popularity, stability, migration patterns, co-occurrence, and the role of Object-Relational Mappers (ORMs). Our findings show that MySQL and PostgreSQL are the most popular DBMSs in our corpus. Among non-relational DBMSs, Redis and MongoDB are the most frequently used and tend to remain stable after adoption. In contrast, systems such…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
