Tietokantojen ja ORM:n suorituskykyvertailu eri ohjelmistokehyksissä
Authors
Date
2023Access restrictions
The author has not given permission to make the work publicly available electronically. Therefore the material can be read only at the archival workstation at Jyväskylä University Library (https://kirjasto.jyu.fi/collections/archival-workstation).
Copyright
© The Author(s)
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.
...
![showless](/themes/JYX2//images/showless.png)
![showmore](/themes/JYX2//images/showmore.png)
![showless](/themes/JYX2//images/showless.png)
![showmore](/themes/JYX2//images/showmore.png)
Keywords
Metadata
Show full item recordCollections
- Pro gradu -tutkielmat [29041]
License
Related items
Showing items with similar title or keywords.
-
MySQL- ja MongoDB-tietokantojen suorituskykyvertailu
Haverinen, Henri (2018)Datan määrä ja rakenne on muuttunut vuosikymmenien saatossa huimasti, ja tiedonkäsittely kokee uusia haasteita jatkuvasti. Perinteiset relaatiotietokannat eivät välttämättä enää sovellu ratkaisemaan näitä ongelmia. 2000-luvun ... -
Tuotekatalogin tiedonhallinta pilviympäristössä : AWS Aurora ja DynamoDB tietokantapalveluiden suorituskykyvertailu
Päärni, Atte (2019)Tutkielmassa on vertailtu kahden pilviympäristöön suunnitellun tietokannan hallintajärjestelmän suorituskykyä tuotekatalogin tietokantana pilviympäristössä. Tuotekatalogin tiedon saatavuuden suorituskyky on merkittävä ... -
Relaatio- ja epärelaatiotietokantojen suorituskykyvertailu : MySQL ja MongoDB
Rapa, Antti (2016)Tutkielmassa esitellään relaatio- ja epärelaatiotietokantoja sekä paneudutaan niiden ominaisuuksiin. Nykyään erilaisia tietokantahallintajärjestelmiä on paljon. Ongelmaksi tulee se, että mikä tietokantahallintajärjestelmä ... -
SQL-tietokantojen suojaaminen tietoturvauhilta
Järvinen, Sami (2021)Viimeisen kolmenkymmenen vuoden aikana tietotekniikkaympäristö on käynyt läpi monia muutoksia, ja tietokantatutkimusyhteisöt ovat yrittäneet pysyä askeleen edellä tietokannan turvallisuusuhkia. Turvallisuuden merkitystä ... -
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 ...