Performance Analysis and Improvement for CRUD Operations in Relational Databases from Java']Java Programs Using JPA, Hibernate, Spring Data JPA

被引:4
作者
Bonteanu, Alexandru Marius [1 ]
Tudose, Catalin [1 ,2 ]
机构
[1] Natl Univ Sci & Technol Politehn Bucharest, Fac Automat Control & Comp, Bucharest 060042, Romania
[2] Luxoft Romania, Bucharest 060042, Romania
来源
APPLIED SCIENCES-BASEL | 2024年 / 14卷 / 07期
关键词
!text type='Java']Java[!/text; relational databases; CRUD operations; !text type='Java']Java[!/text] Persistence API; Hibernate; Spring Data JPA; database performance;
D O I
10.3390/app14072743
中图分类号
O6 [化学];
学科分类号
0703 ;
摘要
The role of databases is to allow for the persistence of data, no matter if they are of the SQL or NoSQL type. In SQL databases, data are structured in a set of tables in the relational database model, grouped in rows and columns. CRUD operations (create, read, update, and delete) are used to manage the information contained in relational databases. Several dialects of the SQL language exist, as well as frameworks for mapping Java classes (models) to a relational database. The question is what we should choose for our Java application, and why? A comparison of the most frequently used relational database management systems, mixed with the most frequently used frameworks should give us some guidance about when to use what. The evaluation is conducted based on the time taken for each CRUD operation to run, from thousands to hundreds of thousands of entries, using the possible combinations in the relational database system and the framework. Aiming to assess and improve the performance, the experiments included the possibility of warming-up the Java Virtual Machine before the execution of queries. Also, the research investigated the time spent using different methods of code to determine the critical regions (bottlenecks). Thus, the conclusions provide a comprehensive overview of the performances of Java applications accessing databases depending on the suite decisions considering the database type, the framework in use, and the type of operation, with clear comparisons between the alternatives, the key findings of the advantages and drawbacks of each of them, and supporting architects and developers in their technological decisions and improving the speed of their programs.
引用
收藏
页数:32
相关论文
共 45 条
  • [31] Analysis of the Internals of MySQL/InnoDB B plus Tree Index Navigation from a Forensic Perspective
    Kieseberg, Peter
    Schrittwieser, Sebastian
    Fruehwirt, Peter
    Weippl, Edgar
    [J]. 2019 INTERNATIONAL CONFERENCE ON SOFTWARE SECURITY AND ASSURANCE (ICSSA 2019), 2019, : 46 - 51
  • [32] Kirshteyn M., 2024, Mastering SQL Server Database Administration. A Comprehensive Guide to Perfection and Productivity
  • [33] Mihalcea V., 2019, High-Performance Java Persistence
  • [34] OHearn S., 2017, OCA Oracle Database SQL Exam Guide (Exam 1Z0-071) (Oracle Press)
  • [35] Reid M., 2013, InnoDB Quick Reference Guide
  • [36] Sierra K., 2022, Head First Java: A Brain-Friendly Guide, V3
  • [37] A comprehensive study and review of tuning the performance on database scalability in big data analytics
    Sundarakumar, M. R.
    Mahadevan, G.
    Natchadalingam, R.
    Karthikeyan, G.
    Ashok, J.
    Manoharan, J. Samuel
    Sathya, V
    Velmurugadass, P.
    [J]. JOURNAL OF INTELLIGENT & FUZZY SYSTEMS, 2023, 44 (03) : 5231 - 5255
  • [38] Tudose C., 2020, JUnit in Action
  • [39] Tudose C., 2021, P 23 INT C CONTROL S
  • [40] Tudose C., 2023, Java Persistence with Spring Data and Hibernate