ORM-kehyksen vaikutus suorituskykyyn .NET-sovelluksessa

ORM-kehyksillä pyritään helpottamaan relaatiotietokantojen sekä olio-ohjelmoinnilla toteutettujen sovellusten yhteen sovittamista. ORM-kehykset helpottavat yleisesti sovelluskehitysprosessia, mutta samalla ne lisäävät sovellukseen kerroksen, joka saattaa tietyissä tilanteissa hidastaa sovelluksen to...

Täydet tiedot

Bibliografiset tiedot
Päätekijä: Valkonen, Juho
Muut tekijät: Informaatioteknologian tiedekunta, Faculty of Information Technology, Informaatioteknologia, Information Technology, Jyväskylän yliopisto, University of Jyväskylä
Aineistotyyppi: Pro gradu
Kieli:fin
Julkaistu: 2023
Aiheet:
Linkit: https://jyx.jyu.fi/handle/123456789/86099
Kuvaus
Yhteenveto:ORM-kehyksillä pyritään helpottamaan relaatiotietokantojen sekä olio-ohjelmoinnilla toteutettujen sovellusten yhteen sovittamista. ORM-kehykset helpottavat yleisesti sovelluskehitysprosessia, mutta samalla ne lisäävät sovellukseen kerroksen, joka saattaa tietyissä tilanteissa hidastaa sovelluksen toimintaa. Tutkielmassa toteutettiin tapaustutkimus, jossa vertailtiin eri tapausten toteutusta ORMkehystä (Entity Framework Core) hyödyntäen sekä ilman ORM-kehystä toteutettuna. Tapaukset suoritettiin eri tietokanta-alustoja vasten ja niiden suoritusajat mitattiin. Mittaustulosten perusteella EF Core hidastaa tapausten suorittamista noin 100–200 prosenttia riippuen tapauksen luonteesta, tietokanta-alustasta sekä tietokannan taulujen rivimääristä. Ääritapauksissa suhteellinen hidastuminen oli yli 1000 %. Osassa tapauksista EF Coren hidastavan vaikutuksen suhteellinen osuus vaihteli tietokannan rivimääristä riippuen. ORM-frameworks are tools that help software developers to connect between relational databases and object-oriented programming. In general, ORM-frameworks provide functionalities that simplify the process of developing software. However, they also add an abstraction layer to a software, which in some cases may slow down its performance. This study was conducted as a case study. Multiple cases were implemented with an ORMframework (Entity Framework Core), and without one. Those implementations were benchmarked against several different database management systems. According to the results of the benchmarking process, EF Core slows down the performance of the selected cases by about 100–200 percents on average. In the extreme cases, EF Core slows down the performance for about 1 000 percents. The effect depends on the case, selected database, and the number of rows in the database. In some of the cases, the relative effect of EF Core slowing down the case, depends on the amount of rows in target database.