Tietokantojen ja ORM:n suorituskykyvertailu eri ohjelmistokehyksissä - Södergård, Alexander (2023)
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.