Relaatio- ja ei-relaatiotietokantojen suorituskykyerot - Alamäki, Kasimir (My University, 2024)
Tietojärjestelmät ja sovellukset käyttävät tietokantoja datan hallinnoimiseen. Ne voidaan jakaa kahteen pääryhmään: relaatio- ja ei-relaatiotietokantoihin. Kyseisillä tietokannoilla on merkittäviä nopeuseroja, jotka riippuvat monista eri asioista. Suorituskyky voi vaikuttaa huomattavasti järjestelmän toimintanopeuteen, joten tehokkaan tietokannan valinta on tärkeää. Tässä tutkielmassa tutkitaan, miten tietokantatyyppien suorituskyvyt eroavat toisistaan eri tilanteissa. Kirjallisuuskatsauksessa vertaillaan tietokantojen operaatioiden nopeuksia ja tarkastellaan niihin vaikuttavia syitä. Lisäksi tutkitaan, mihin sovelluksiin tietyntyyppiset tietokannat soveltuvat ja miten relaatiotietokantojen suorituskykyä pystytään parantamaan horisontaalisella skaalauksella. Tutkielmassa käy ilmi, että ei-relaatiotietokannat suoriutuvat lähes kaikista operaatioista nopeammin kuin relaatiotietokannat. Koostefunktioita käyttävissä operaatioissa relaatiotietokannat ovat kuitenkin nopeampia, koska ne ovat sisäänrakennettuja SQL:ssä. Muut operaatiot ovat hitaampia ACID-ominaisuuksien tarkistusten takia, jotka pitävät datan eheänä. Täten relaatiotietokannat sopivat parhaiten sovelluksiin, joissa käsitellään kriittisiä kohteita, kuten pankkikorttimaksuja. Ei-relaatiotietokannat soveltuvat sosiaalisen median palveluihin ja analyyttisiin sovelluksiin niiden skeemattomuuden ja horisontaalisen skaalautuvuuden ansiosta. Suorituskykyeroihin vaikuttavat tietokantojen toteutustavat, versiot, palvelinten komponentit, datan rakenne sekä attribuuttien ja rivien määrä.
Keywords: relaatiotietokanta, ei-relaatiotietokanta, suorituskyky, SQL, NoSQL