ORM-kehyksen vaikutus suorituskykyyn .NET-sovelluksessa
Tekijät
Päivämäärä
2023Tekijänoikeudet
© The Author(s)
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.
...
Asiasanat
Metadata
Näytä kaikki kuvailutiedotKokoelmat
- Pro gradu -tutkielmat [29545]
Lisenssi
Samankaltainen aineisto
Näytetään aineistoja, joilla on samankaltainen nimeke tai asiasanat.
-
Entity Framework 6:n käyttäminen eri tietokantojen päällä
Moilanen, Jere (2020)ORM (object-relational mapping) toimii kehitettävän ohjelmiston ja tietokannan välissä, yksinkertaistaen kehittäjän työtä. Ohjelmistokehittäjä voi muokata ohjelmakoodissaan olioita ja ORM muuntaa olioiden muutokset tietokannan ... -
Suunnittelumallit ja niiden vaikutus laatuun
Tuikka, Jari (2019)Sovelluskehityksessä olio-ohjelmoinnissa halutaan usein käyttää apuna suunnittelumalleja. Suunnittelumalleihin liittyy usein oletusarvo, että ne automaattisesti lisäävät sovelluksen laatua. Tämä tutkielma käsittelee miten ... -
Web-sovellusohjelmointi Scala-ohjelmointikielellä
Parpala, Joni (2021)Nykyisten web-sovellusten kasvavat vaatimukset painostavat etsimään ratkaisuja tavanomaisten ohjelmointiparadigmojen ulkopuolelta. Tässä tutkielmassa selvitetään, miten funktio-ohjelmoinnin ja olio-ohjelmoinnin perusperiaatteita ... -
Luokittelu ja perintä reaalimaailmasta oliosuuntautuneeseen ohjelmointiin
Laiho, Pauli (2022)Oliosuuntautunut ohjelmointi on erittäin suosittu tapa mallintaa ohjelmistoja. Oliot ja oliomainen ajattelutapa on kuitenkin merkittävästi ohjelmointia vanhempia käsitteitä ja niitä on tutkittu laajasti sekä filosofiassa ... -
Decorative images' effect on the cognitive load of computer programming learning
Mäkelä, Ella (2023)Kognitiivinen kuormitusteoria pyrkii kehittämään ohjeistuksia, jotka helpottavat oppimisen aikana koettavaa henkistä kuormitusta. Useita periaatteita on kehitetty kognitiivisen kuormituksen luontaisten, ulkoisten ja ...
Ellei toisin mainittu, julkisesti saatavilla olevia JYX-metatietoja (poislukien tiivistelmät) saa vapaasti uudelleenkäyttää CC0-lisenssillä.