Tietokantojen ja ORM:n suorituskykyvertailu eri ohjelmistokehyksissä
Abstract
Tutkielman tavoitteena oli selvittää, missä määrin eri teknologiat vaikuttavat
sovelluksen suorituskykyyn. Hyvä suorituskyky on tärkeää web-ohjelmistoissa, koska se
vaikuttaa käyttäjäkokemukseen ja sivuston käytettävyyteen. Nopea sivusto parantaa käyttäjien sitoutumista ja vähentää sivuston hylkäämisen riskiä. Tarkasteltavat teknologiat olivat
ohjelmistokehykset, ORM:t, sekä tietokannat. Ohjelmistokehyksistä tutkielmassa oli mukana ASP.NET Core ja Django. ASP.NET Core sovellusten ORM oli Entity Framework
Core tai Dapper. Djangolla toteutetuissa sovelluksissa käytettiin kehyksen omaa ORM:ää tai
SQLAlchemyä. Tietokantojen osalta tutkielmassa tarkasteltiin relaatiotietokantojen ja NoSQL-tietokantojen suorituskykyä. Relaatiotietokannoiksi valikoituivat SQLite, PostgreSQL, sekä
MySQL. NoSQL-tietokannoista tarkasteltiin ainoastaan MongoDB-tietokantaa. Näitä teknologioita hyödynnettiin yksinkertaisten web-ohjelmistojen toteutukseen ja suorituskyky mitattiin
JMeter-ohjelmiston avulla. Palvelimelle lähetettiin pyyntöjä ja suorituskyky mitattiin keskimääräisen vasteajan perusteella. Dapper oli suorituskykyisin ORM. MySQL ja PostgreSQL
olivat hyvin tasaväkiset, mutta liitoskyselyissä PostgreSQL oli tehokkaampi. MongoDB:n
suorituskyky liitoskyselyissä oli huomattavasti heikompi kuin muilla tietokannoilla. Kirjoitusoperaatioista SQLite suoriutui selkeästi huonommin kuin muut.
The aim of the thesis was to find out to what extent different technologies affect the performance of the application. Good performance is important in web software because it affects user experience and site usability. A fast site improves user engagement and reduces the risk of site abandonment. The examined technologies were application frameworks, ORMs, and databases. The thesis includes ASP.NET Core and Django as the application frameworks. Entity Framework Core or Dapper are used as the ORM for ASP.NET Core applications, while Django applications use the framework’s own ORM or SQLAlchemy. In terms of databases, the performance of relational databases and NoSQL databases are examined. SQLite, PostgreSQL, and MySQL are the chosen relational databases, while only MongoDB is examined for NoSQL databases. These technologies were utilized in simple web software implementation and performance was measured using JMeter software. Requests were sent to the server and performance was measured based on the average response time. Dapper was the most performing ORM. MySQL and PostgreSQL were very evenly matched, but in join queries, PostgreSQL was more efficient. MongoDB’s performance in join queries was significantly lower than other databases. Regarding write operations, SQLite performed worse than the others.
The aim of the thesis was to find out to what extent different technologies affect the performance of the application. Good performance is important in web software because it affects user experience and site usability. A fast site improves user engagement and reduces the risk of site abandonment. The examined technologies were application frameworks, ORMs, and databases. The thesis includes ASP.NET Core and Django as the application frameworks. Entity Framework Core or Dapper are used as the ORM for ASP.NET Core applications, while Django applications use the framework’s own ORM or SQLAlchemy. In terms of databases, the performance of relational databases and NoSQL databases are examined. SQLite, PostgreSQL, and MySQL are the chosen relational databases, while only MongoDB is examined for NoSQL databases. These technologies were utilized in simple web software implementation and performance was measured using JMeter software. Requests were sent to the server and performance was measured based on the average response time. Dapper was the most performing ORM. MySQL and PostgreSQL were very evenly matched, but in join queries, PostgreSQL was more efficient. MongoDB’s performance in join queries was significantly lower than other databases. Regarding write operations, SQLite performed worse than the others.
Main Author
Format
Theses
Master thesis
Published
2023
Subjects
The permanent address of the publication
https://urn.fi/URN:NBN:fi:jyu-202306153848Use this for linking
Language
Finnish
The record contains restricted files. You can request a copy of this thesis here.
The material is available for reading at the archive workstation of the University of Jyväskylä Library.
The material is available for reading at the archive workstation of the University of Jyväskylä Library.
Tekijä ei ole antanut lupaa avoimeen julkaisuun, joten aineisto on luettavissa vain Jyväskylän yliopiston kirjaston arkistotyösemalta. Ks. https://kirjasto.jyu.fi/kokoelmat/arkistotyoasema..
Copyright© The Author(s)