Optimization and Parallelization of Object-Relational Mappers
Filip Jovanov, Vladimir Zdraveski, Marjan Gušev, Magdalena Kostoska · 2023
Most of today’s software is connected to the Internet, no matter its type/usage. The developers of these applications constantly have to make important decisions that impact the software’s performance. One predominant area of these discussions is whether to use Object Relational Mappings or native SQL. In this paper, we introduce a new Java library called RQL and an algorithm to drastically optimize ORMs, specifically time and memory complexity, as well as the number of database calls that they produce. We set a hypothesis to check if this new approach performs better than the conventional one. The evaluation of conducted experiments proves that the new approach based on the division of work to separate threads, proper decision-making, partitioning, in-memory data mapping, entity pre-processing and the avoidance of Cartesian products and n+1 issues achieves better performance and reduces resource requirements.