JSON-tiedoston tallennusmenetelmät toiminnanohjausjärjestelmässä
Leppäniemi, Eero (2021)
Leppäniemi, Eero
2021
Tietojenkäsittelyopin maisteriohjelma - Master's Programme in Computer Science
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2021-11-22
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202111228568
https://urn.fi/URN:NBN:fi:tuni-202111228568
Tiivistelmä
Javascript Object Notation (JSON) on puolirakenteinen tiedon tallennusformaatti, joka mahdollistaa kaaviottoman tallennuksen ja tiedon siirron järjestelmien välillä. JSON-tiedostoja käytetään nykyaikana tyypillisesti suurien tietomäärien tallettamiseen ja ne varastoidaan usein NoSQL-tyyppisiin tietokantoihin näiden ollessa nopeita vaihtoehtoja. Toinen yleinen tapa on JSON-tiedoston pilkkominen osiin ja sen tallennus relaatiotietokantaan.
Tässä työssä tutkitaan tapoja JSON-tiedoston tallennukselle tietokantaan ja vertaillaan näiden tapojen tehokkuutta ja sopivuutta toimeksiantajan, Digia Finland Oy:n Enterprise-yksikön, tarpeisiin. JSON-tiedostot ovat nykyään toimeksiantajalla tallennettuna hajautetusti relaatiotietokantaan ja tämän aiheuttaman viiveen vuoksi tutkitaan muita tallennuksen vaihtoehtoja.
Vertailtaviksi tallennustavoiksi valittiin nykyinen hajautettu relaatiotietokantatallennus, tallennus yhteen suuren dataobjektin (Large Data Object) relaatiotietokannan kenttään, sekä tallennus MongoDB-NoSQL-tietokantaan. Tallennustapojen tehokkuuden vertailua varten luotiin testit, joissa tallennettiin toistuvasti eri tietokantoihin JSON-tiedostoja ja otettiin ylös operaatioon kulunut aika. Testit suoritettiin sekä irrallisena että toimeksiantajan rajapintoja vasten ja operaatioita suoritettiin vaihtelevia määriä.
Lopputuloksena todettiin uusien tallennustapojen olevan nykyistä toimeksiantajan järjestelmää tehokkaampia. Näistä kuitenkin tallennus MongoDB-tietokantaan aiheutti tietokantayhteyden muodostuksessa viivettä, joka oli nykyistä ohjelmistoa hitaampi. Tämän lisäksi MongoDB vaatisi liikaa uutta ohjelmistoa ollakseen sopiva toimeksiantajan tarpeeseen. Yhteen tietokantakenttään suoritettava tallennus taas todettiin käyttökelpoiseksi, ja se otettiin toimeksiantajan järjestelmässä käyttöön välimuistipalveluna.
Tässä työssä tutkitaan tapoja JSON-tiedoston tallennukselle tietokantaan ja vertaillaan näiden tapojen tehokkuutta ja sopivuutta toimeksiantajan, Digia Finland Oy:n Enterprise-yksikön, tarpeisiin. JSON-tiedostot ovat nykyään toimeksiantajalla tallennettuna hajautetusti relaatiotietokantaan ja tämän aiheuttaman viiveen vuoksi tutkitaan muita tallennuksen vaihtoehtoja.
Vertailtaviksi tallennustavoiksi valittiin nykyinen hajautettu relaatiotietokantatallennus, tallennus yhteen suuren dataobjektin (Large Data Object) relaatiotietokannan kenttään, sekä tallennus MongoDB-NoSQL-tietokantaan. Tallennustapojen tehokkuuden vertailua varten luotiin testit, joissa tallennettiin toistuvasti eri tietokantoihin JSON-tiedostoja ja otettiin ylös operaatioon kulunut aika. Testit suoritettiin sekä irrallisena että toimeksiantajan rajapintoja vasten ja operaatioita suoritettiin vaihtelevia määriä.
Lopputuloksena todettiin uusien tallennustapojen olevan nykyistä toimeksiantajan järjestelmää tehokkaampia. Näistä kuitenkin tallennus MongoDB-tietokantaan aiheutti tietokantayhteyden muodostuksessa viivettä, joka oli nykyistä ohjelmistoa hitaampi. Tämän lisäksi MongoDB vaatisi liikaa uutta ohjelmistoa ollakseen sopiva toimeksiantajan tarpeeseen. Yhteen tietokantakenttään suoritettava tallennus taas todettiin käyttökelpoiseksi, ja se otettiin toimeksiantajan järjestelmässä käyttöön välimuistipalveluna.