Hajautetut relaatiotietokannat ja niiden skaalautuvuus
Kivistö, Simo (2019)
Kivistö, Simo
2019
Tietojenkäsittelytieteiden tutkinto-ohjelma - Degree Programme in Computer Sciences
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ä
2019-03-27
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-201904021464
https://urn.fi/URN:NBN:fi:tuni-201904021464
Tiivistelmä
NoSQL-tietokannat ovat nousseet 2000-luvulla perinteisten relaatiotietokantojen rinnalle esimerkiksi verkkosovellusten palvelintietokannoiksi. Näillä uusilla ratkaisuilla on pyritty vastaamaan muun muassa skaalautuvuuden tarpeisiin. Monissa järjestelmissä kuitenkin vaaditaan tietokannalta ominaisuuksia, jotka puuttuvat NoSQL-järjestelmistä. Tässä tutkielmassa selvitetään olemassa olevia tapoja hajauttaa relaatiotietokanta useasta palvelimesta koostuvaksi järjestelmäksi ja keinoja, joilla palvelimien määrää vaihtamalla voidaan sopeutua vaihtuneeseen työkuormaan tai datan määrään.
Yleisten kaupallisten järjestelmien ominaisuudet havaitaan vielä rajoittuneiksi, kun niitä verrataan erilaisissa tutkimuksissa esitettyihin ratkaisuihin. Suurin osa kaupallisista ratkaisuista ei tarjoa automaattista skaalautuvuutta ja käytetyimpien verkkosovellusten palveluntarjoajat ovatkin luoneet tarvittaessa omia, räätälöityjä relaatiotietokantaratkaisujaan.
Hajautus muodostuu tietokannan taulujen kopioinnista tai niiden rakenteen tai sisällön hajauttamisesta hajautetun järjestelmän palvelinten välillä. Useita heuristiikkaan perustuvia ratkaisuja on esitetty lähes optimaalisen hajautuksen hakemiseksi. Myös tietokannan käyttötarkoitus vaikuttaa parhaaseen metodiin. Lisäksi skaalautuvuutta varten on esitetty erilaisia tapoja siirtää dataa tuotantokäytössä olevan järjestelmän palvelinten välillä ilman käyttökatkoa, jotta järjestelmän arkkitehtuuri saataisiin vastaamaan muuttuneen työkuorman tarpeita.
Yleisten kaupallisten järjestelmien ominaisuudet havaitaan vielä rajoittuneiksi, kun niitä verrataan erilaisissa tutkimuksissa esitettyihin ratkaisuihin. Suurin osa kaupallisista ratkaisuista ei tarjoa automaattista skaalautuvuutta ja käytetyimpien verkkosovellusten palveluntarjoajat ovatkin luoneet tarvittaessa omia, räätälöityjä relaatiotietokantaratkaisujaan.
Hajautus muodostuu tietokannan taulujen kopioinnista tai niiden rakenteen tai sisällön hajauttamisesta hajautetun järjestelmän palvelinten välillä. Useita heuristiikkaan perustuvia ratkaisuja on esitetty lähes optimaalisen hajautuksen hakemiseksi. Myös tietokannan käyttötarkoitus vaikuttaa parhaaseen metodiin. Lisäksi skaalautuvuutta varten on esitetty erilaisia tapoja siirtää dataa tuotantokäytössä olevan järjestelmän palvelinten välillä ilman käyttökatkoa, jotta järjestelmän arkkitehtuuri saataisiin vastaamaan muuttuneen työkuorman tarpeita.