Samanaikaisuuden hallinta MySQL-tietokannanhallintajärjestelmässä käyttäen InnoDB-tietokantamoottoria
Tähkävuori, Vesa (2010)
Tähkävuori, Vesa
HAAGA-HELIA ammattikorkeakoulu
2010
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2010120617184
https://urn.fi/URN:NBN:fi:amk-2010120617184
Tiivistelmä
Vuonna 1995 ensimmäistä kertaa julkaistu MySQL on kehittynyt nopeasti yhdeksi maailman suosituimmista tietokannanhallintajärjestelmistä (TKHJ), joka kykenee kilpailemaan kolmen yleisimmän TKHJ:n: Oraclen, DB2:n ja SQL Serverin kanssa usealla osa-alueella. Se on saavuttanut suosiota erityisesti osana verkkosovelluksia.
MySQL:n arkkitehtuurissa tietokannan ydin on erotettu tauluja käsittelevästä osasta. Jälkimmäistä kutsutaan tietokantamoottoriksi, jonka valinta vaikuttaa ratkaisevasti MySQL:n käyttäytymiseen. Yksi MySQL:n yleisimmistä tietokantamoottoreista on InnoDB, joka on uusimmissa versioissa valittu myös oletustietokantamoottoriksi.
Yksi keskeisimmistä TKHJ:n (MySQL:n tapauksessa tietokantamoottorin) ratkaistavista ongelmista liittyy tilanteisiin, joissa tietokannassa olevaa dataa yritetään päivittää (ja mahdollisesti lukea) samanaikaisesti useasta eri lähteestä. Tämän tutkimuksen tarkoituksena oli selvittää, miten tämä ns. samanaikaisuuden hallinta on toteutettu InnoDB:ssä. Tutkimuksessa keskityttiin erityisesti siihen, miten InnoDB selviää ennalta määritellyistä samanaikaisuuden hallinnan ongelmaskenaarioista.
Tutkimuksessa todettiin, että tiukimmilla asetuksilla InnoDB selviää samanaikaisuuden hallinnasta erinomaisesti. Löyhemmillä asetuksilla esiintyneet ongelmat olivat pääsääntöisesti SQL-standardin mukaisia. Lisäksi tutkimuksessa selvisi varotoimenpiteitä, joita MySQL/InnoDB -yhdistelmän kanssa työskentelevien sovelluskehittäjien kannattaa ottaa huomioon.
MySQL:n arkkitehtuurissa tietokannan ydin on erotettu tauluja käsittelevästä osasta. Jälkimmäistä kutsutaan tietokantamoottoriksi, jonka valinta vaikuttaa ratkaisevasti MySQL:n käyttäytymiseen. Yksi MySQL:n yleisimmistä tietokantamoottoreista on InnoDB, joka on uusimmissa versioissa valittu myös oletustietokantamoottoriksi.
Yksi keskeisimmistä TKHJ:n (MySQL:n tapauksessa tietokantamoottorin) ratkaistavista ongelmista liittyy tilanteisiin, joissa tietokannassa olevaa dataa yritetään päivittää (ja mahdollisesti lukea) samanaikaisesti useasta eri lähteestä. Tämän tutkimuksen tarkoituksena oli selvittää, miten tämä ns. samanaikaisuuden hallinta on toteutettu InnoDB:ssä. Tutkimuksessa keskityttiin erityisesti siihen, miten InnoDB selviää ennalta määritellyistä samanaikaisuuden hallinnan ongelmaskenaarioista.
Tutkimuksessa todettiin, että tiukimmilla asetuksilla InnoDB selviää samanaikaisuuden hallinnasta erinomaisesti. Löyhemmillä asetuksilla esiintyneet ongelmat olivat pääsääntöisesti SQL-standardin mukaisia. Lisäksi tutkimuksessa selvisi varotoimenpiteitä, joita MySQL/InnoDB -yhdistelmän kanssa työskentelevien sovelluskehittäjien kannattaa ottaa huomioon.