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...

Full description

Bibliographic Details
Main Author: Valkonen, Juho
Other Authors: Informaatioteknologian tiedekunta, Faculty of Information Technology, Informaatioteknologia, Information Technology, Jyväskylän yliopisto, University of Jyväskylä
Format: Master's thesis
Language:fin
Published: 2023
Subjects:
Online Access: https://jyx.jyu.fi/handle/123456789/86099
_version_ 1828193037593870336
author Valkonen, Juho
author2 Informaatioteknologian tiedekunta Faculty of Information Technology Informaatioteknologia Information Technology Jyväskylän yliopisto University of Jyväskylä
author_facet Valkonen, Juho Informaatioteknologian tiedekunta Faculty of Information Technology Informaatioteknologia Information Technology Jyväskylän yliopisto University of Jyväskylä Valkonen, Juho Informaatioteknologian tiedekunta Faculty of Information Technology Informaatioteknologia Information Technology Jyväskylän yliopisto University of Jyväskylä
author_sort Valkonen, Juho
datasource_str_mv jyx
description 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.
first_indexed 2023-03-23T21:16:51Z
format Pro gradu
free_online_boolean 1
fullrecord [{"key": "dc.contributor.advisor", "value": "Mikkonen, Tommi", "language": "", "element": "contributor", "qualifier": "advisor", "schema": "dc"}, {"key": "dc.contributor.author", "value": "Valkonen, Juho", "language": "", "element": "contributor", "qualifier": "author", "schema": "dc"}, {"key": "dc.date.accessioned", "value": "2023-03-23T06:36:52Z", "language": null, "element": "date", "qualifier": "accessioned", "schema": "dc"}, {"key": "dc.date.available", "value": "2023-03-23T06:36:52Z", "language": null, "element": "date", "qualifier": "available", "schema": "dc"}, {"key": "dc.date.issued", "value": "2023", "language": "", "element": "date", "qualifier": "issued", "schema": "dc"}, {"key": "dc.identifier.uri", "value": "https://jyx.jyu.fi/handle/123456789/86099", "language": null, "element": "identifier", "qualifier": "uri", "schema": "dc"}, {"key": "dc.description.abstract", "value": "ORM-kehyksill\u00e4 pyrit\u00e4\u00e4n helpottamaan relaatiotietokantojen sek\u00e4 olio-ohjelmoinnilla\ntoteutettujen sovellusten yhteen sovittamista. ORM-kehykset helpottavat\nyleisesti sovelluskehitysprosessia, mutta samalla ne lis\u00e4\u00e4v\u00e4t sovellukseen kerroksen, joka\nsaattaa tietyiss\u00e4 tilanteissa hidastaa sovelluksen toimintaa.\n\nTutkielmassa toteutettiin tapaustutkimus, jossa vertailtiin eri tapausten toteutusta ORMkehyst\u00e4\n(Entity Framework Core) hy\u00f6dynt\u00e4en sek\u00e4 ilman ORM-kehyst\u00e4 toteutettuna.\nTapaukset suoritettiin eri tietokanta-alustoja vasten ja niiden suoritusajat mitattiin.\n\nMittaustulosten perusteella EF Core hidastaa tapausten suorittamista noin 100\u2013200 prosenttia\nriippuen tapauksen luonteesta, tietokanta-alustasta sek\u00e4 tietokannan taulujen rivim\u00e4\u00e4rist\u00e4.\n\u00c4\u00e4ritapauksissa suhteellinen hidastuminen oli yli 1000 %. Osassa tapauksista EF Coren\nhidastavan vaikutuksen suhteellinen osuus vaihteli tietokannan rivim\u00e4\u00e4rist\u00e4 riippuen.", "language": "fi", "element": "description", "qualifier": "abstract", "schema": "dc"}, {"key": "dc.description.abstract", "value": "ORM-frameworks are tools that help software developers to connect between relational\ndatabases and object-oriented programming. In general, ORM-frameworks provide\nfunctionalities that simplify the process of developing software. However, they also add an\nabstraction layer to a software, which in some cases may slow down its performance.\n\nThis study was conducted as a case study. Multiple cases were implemented with an ORMframework\n(Entity Framework Core), and without one. Those implementations were benchmarked\nagainst several different database management systems.\n\nAccording to the results of the benchmarking process, EF Core slows down the performance\nof the selected cases by about 100\u2013200 percents on average. In the extreme cases, EF Core\nslows down the performance for about 1 000 percents. The effect depends on the case, selected\ndatabase, and the number of rows in the database. In some of the cases, the relative effect\nof EF Core slowing down the case, depends on the amount of rows in target database.", "language": "en", "element": "description", "qualifier": "abstract", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Submitted by Paivi Vuorio (paelvuor@jyu.fi) on 2023-03-23T06:36:52Z\nNo. of bitstreams: 0", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Made available in DSpace on 2023-03-23T06:36:52Z (GMT). No. of bitstreams: 0\n Previous issue date: 2023", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.format.extent", "value": "150", "language": "", "element": "format", "qualifier": "extent", "schema": "dc"}, {"key": "dc.format.mimetype", "value": "application/pdf", "language": null, "element": "format", "qualifier": "mimetype", "schema": "dc"}, {"key": "dc.language.iso", "value": "fin", "language": null, "element": "language", "qualifier": "iso", "schema": "dc"}, {"key": "dc.rights", "value": "In Copyright", "language": null, "element": "rights", "qualifier": null, "schema": "dc"}, {"key": "dc.subject.other", "value": ".NET", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "ADO.NET", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "Entity Framework Core", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "suorituskykymittaus", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "ORM", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "ORM-kehys", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.title", "value": "ORM-kehyksen vaikutus suorituskykyyn .NET-sovelluksessa", "language": "", "element": "title", "qualifier": null, "schema": "dc"}, {"key": "dc.type", "value": "master thesis", "language": null, "element": "type", "qualifier": null, "schema": "dc"}, {"key": "dc.identifier.urn", "value": "URN:NBN:fi:jyu-202303232248", "language": "", "element": "identifier", "qualifier": "urn", "schema": "dc"}, {"key": "dc.type.ontasot", "value": "Pro gradu -tutkielma", "language": "fi", "element": "type", "qualifier": "ontasot", "schema": "dc"}, {"key": "dc.type.ontasot", "value": "Master\u2019s thesis", "language": "en", "element": "type", "qualifier": "ontasot", "schema": "dc"}, {"key": "dc.contributor.faculty", "value": "Informaatioteknologian tiedekunta", "language": "fi", "element": "contributor", "qualifier": "faculty", "schema": "dc"}, {"key": "dc.contributor.faculty", "value": "Faculty of Information Technology", "language": "en", "element": "contributor", "qualifier": "faculty", "schema": "dc"}, {"key": "dc.contributor.department", "value": "Informaatioteknologia", "language": "fi", "element": "contributor", "qualifier": "department", "schema": "dc"}, {"key": "dc.contributor.department", "value": "Information Technology", "language": "en", "element": "contributor", "qualifier": "department", "schema": "dc"}, {"key": "dc.contributor.organization", "value": "Jyv\u00e4skyl\u00e4n yliopisto", "language": "fi", "element": "contributor", "qualifier": "organization", "schema": "dc"}, {"key": "dc.contributor.organization", "value": "University of Jyv\u00e4skyl\u00e4", "language": "en", "element": "contributor", "qualifier": "organization", "schema": "dc"}, {"key": "dc.subject.discipline", "value": "Tietotekniikka", "language": "fi", "element": "subject", "qualifier": "discipline", "schema": "dc"}, {"key": "dc.subject.discipline", "value": "Mathematical Information Technology", "language": "en", "element": "subject", "qualifier": "discipline", "schema": "dc"}, {"key": "yvv.contractresearch.funding", "value": "0", "language": "", "element": "contractresearch", "qualifier": "funding", "schema": "yvv"}, {"key": "dc.type.coar", "value": "http://purl.org/coar/resource_type/c_bdcc", "language": null, "element": "type", "qualifier": "coar", "schema": "dc"}, {"key": "dc.rights.copyright", "value": "\u00a9 The Author(s)", "language": null, "element": "rights", "qualifier": "copyright", "schema": "dc"}, {"key": "dc.rights.accesslevel", "value": "openAccess", "language": null, "element": "rights", "qualifier": "accesslevel", "schema": "dc"}, {"key": "dc.type.publication", "value": "masterThesis", "language": null, "element": "type", "qualifier": "publication", "schema": "dc"}, {"key": "dc.subject.oppiainekoodi", "value": "602", "language": "", "element": "subject", "qualifier": "oppiainekoodi", "schema": "dc"}, {"key": "dc.subject.yso", "value": "tietokannat", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.subject.yso", "value": "olio-ohjelmointi", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.format.content", "value": "fulltext", "language": null, "element": "format", "qualifier": "content", "schema": "dc"}, {"key": "dc.rights.url", "value": "https://rightsstatements.org/page/InC/1.0/", "language": null, "element": "rights", "qualifier": "url", "schema": "dc"}, {"key": "dc.type.okm", "value": "G2", "language": null, "element": "type", "qualifier": "okm", "schema": "dc"}]
id jyx.123456789_86099
language fin
last_indexed 2025-03-31T20:02:43Z
main_date 2023-01-01T00:00:00Z
main_date_str 2023
online_boolean 1
online_urls_str_mv {"url":"https:\/\/jyx.jyu.fi\/bitstreams\/3d7680b6-4d14-488b-ae08-86790b560480\/download","text":"URN:NBN:fi:jyu-202303232248.pdf","source":"jyx","mediaType":"application\/pdf"}
publishDate 2023
record_format qdc
source_str_mv jyx
spellingShingle Valkonen, Juho ORM-kehyksen vaikutus suorituskykyyn .NET-sovelluksessa .NET ADO.NET Entity Framework Core suorituskykymittaus ORM ORM-kehys Tietotekniikka Mathematical Information Technology 602 tietokannat olio-ohjelmointi
title ORM-kehyksen vaikutus suorituskykyyn .NET-sovelluksessa
title_full ORM-kehyksen vaikutus suorituskykyyn .NET-sovelluksessa
title_fullStr ORM-kehyksen vaikutus suorituskykyyn .NET-sovelluksessa ORM-kehyksen vaikutus suorituskykyyn .NET-sovelluksessa
title_full_unstemmed ORM-kehyksen vaikutus suorituskykyyn .NET-sovelluksessa ORM-kehyksen vaikutus suorituskykyyn .NET-sovelluksessa
title_short ORM-kehyksen vaikutus suorituskykyyn .NET-sovelluksessa
title_sort orm kehyksen vaikutus suorituskykyyn net sovelluksessa
title_txtP ORM-kehyksen vaikutus suorituskykyyn .NET-sovelluksessa
topic .NET ADO.NET Entity Framework Core suorituskykymittaus ORM ORM-kehys Tietotekniikka Mathematical Information Technology 602 tietokannat olio-ohjelmointi
topic_facet .NET 602 ADO.NET Entity Framework Core Mathematical Information Technology ORM ORM-kehys Tietotekniikka olio-ohjelmointi suorituskykymittaus tietokannat
url https://jyx.jyu.fi/handle/123456789/86099 http://www.urn.fi/URN:NBN:fi:jyu-202303232248
work_keys_str_mv AT valkonenjuho ormkehyksenvaikutussuorituskykyynnetsovelluksessa