An Empirical Study on Database Usage in Microservices
Maxime Andr\'e (1), Marco Raglianti (2), Souhaila Serbout (3), Anthony Cleve (1), Michele Lanza (2) ((1) University of Namur, Belgium, (2) REVEAL @ Software Institute - USI, Lugano, Switzerland, (3) University of Zurich, Switzerland)

TL;DR
This empirical study analyzes how microservices architectures utilize various database technologies over 15 years, revealing prevalent patterns, combinations, and trends in database usage across numerous GitHub projects.
Contribution
It provides the first comprehensive empirical analysis of database usage in microservices, including a dataset and insights into technology adoption and combinations.
Findings
Microservices mainly use Relational, Key-Value, Document, and Search databases.
52% of microservices combine multiple database categories.
Older systems favor Relational databases, while newer ones adopt Key-Value and Document technologies.
Abstract
Microservices architectures are an integral part of modern software development. Their adoption brings significant changes to database management. Instead of relying on a single database, a microservices architecture is typically composed of multiple, smaller, heterogeneous, and distributed DBs. In these data-intensive systems, the variety and combination of database categories and technologies play a crucial role in storing and managing data. While data management in microservices is a major challenge, research literature is scarce. We present an empirical study on how databases are used in microservices. On the dataset we collected (and released as open data for future research), considering 15 years of microservices, we examine ca. 1,000 GitHub projects that use databases selected among 180 technologies from 14 categories. We perform a comprehensive analysis of current practices,…
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.
Taxonomy
TopicsSoftware System Performance and Reliability · Cloud Computing and Resource Management · Software Engineering Research
