Adapting Performance Analytic Techniques in a Real-World Database-Centric System: An Industrial Experience Report
Abstract
Database-centric architectures have been widely adopted in large-scale software systems in various domains to deal with the ever-increasing amount and complexity of data. Prior studies have proposed a wide range of performance analytic techniques aimed at assisting developers in pinpointing software performance inefficiencies and diagnosing performance issues. However, directly applying these existing techniques to large-scale database-centric systems can be challenging and may not perform well due to the unique nature of such systems. In particular, compared to typical database-based systems like online shopping systems, in database-centric systems, a majority of the business logic and calculations reside in the database instead of the application. As the calculations in the database typically use domain-specific languages such as SQL, the performance issues of such systems and their diagnosis may be significantly different from the systems dominated by traditional programming languages such as Java. In this paper, we share our experience of adapting performance analytic techniques in a large-scale database-centric system from our industrial collaborator. Our adapted performance analysis pays special attention to the database and the interactions between the database and the application with minimal reliance on expert knowledge and manual effort. Moreover, we document our encountered challenges and how they are addressed during the development and adoption of our solution in the industrial setting as well as the corresponding lessons learned. We also discuss the real-world performance issues detected by applying our analysis to the target database-centric system. We anticipate that our solution and the reported experience can be helpful for practitioners and researchers who would like to ensure and improve the performance of database-centric systems.
BibTeX
@inproceedings{Liao-al:FSE23,
author = {Lizhi Liao and
Heng Li and
Weiyi Shang and
Catalin Sporea and
Andrei Toma and
Sarah Sajedi},
title = {Adapting Performance Analytic Techniques in a {Real-World} {Database-Centric} System: An Industrial Experience Report},
booktitle = {{ESEC/SIGSOFT} {FSE}},
pages = {1855--1866},
publisher = {{ACM}},
year = {2023},
}