Versioned data in SQL databases - A performance analysis

 |  Login

Show simple item record

dc.contributor Aalto-yliopisto fi
dc.contributor Aalto University en
dc.contributor.author Kääriäinen, Anssi
dc.date.accessioned 2015-07-01T08:16:22Z
dc.date.available 2015-07-01T08:16:22Z
dc.date.issued 2014
dc.identifier.uri https://aaltodoc.aalto.fi/handle/123456789/17085
dc.description.abstract In this thesis I investigated three different ways of storing versioned data· in SQL databases. The analysis concentrated on performance aspects, but I also inspected how the used approaches affected query complexity, ability to use database constraints and other similar non-performance considerations. The versioning approaches examined were storing the versioned data in the same table with currently valid data, storing the data in a separate table and an approach using entity-attribute-value (EAV) structure. I benchmarked the approaches using two different schemes. The first one is a simple one table schema which was used to compare read, insert, update and delete queries. The second benchmark compared various real-world queries against a schema designed for a time tracking software. Intable and audit table approaches exceled in different usage situations. Audit table approach had excellent characteristics for reading current row versions at the cost of data modification speed, while intable versioning had good update speed and historical version read capabilities at the cost of slower current version read speed. The EAV approach was slow for almost all queries. en
dc.description.abstract Tutkin diplomityössäni kolmea erilaista tapaa tallentaa versioitua tietoa SQL tietokantaan. Tutkin lähestymistapoja erityisesti tehokkuusnäkökulmasta, mutta työssäni käsitellään myös lähestymistapojen vaikutusta kyselyiden monimutkaisuuteen, mahdollisuuteen käyttää rajoitteita tietokannassa ja muihin suorituskykyyn liittymättömiin ongelmiin. Tutkitut versiointitavat ovat taulun sisäinen versiointi, versiotietojen tallentaminen erilliseen tauluun ja entiteetti-attribuutti-arvo rakenne. Vertailin lähestymistapojen käyttäen kahta erilaista tietokantaskeemaa. Ensimmäisessä skeemassa vertailin yksinkertaisia muokkaus- ja lukukyselyjä. Toisessa skeemassa tutkin kyselyjä joita tarvitaan työajankohdennukseen käytetyssä järjestelmässä. Taulun sisäisen ja erilliseen tauluun tehdyn versioinnin paremmuusjärjestys vaihteli eri käyttötapauksissa. Erilliseen tauluun tehty versiointi parjasi erinomaisesti rivien nykyversioiden lukua vaativissa käyttötapauksissa, kun taas samaan taulun sisäinen versiointi oli tehokkaampi muokkausta ja historiatietoja vaativissa kyselyissä. Entiteetti-attribuutti-arvo lähestymistapa oli hitain lähes kaikissa käyttötapauksissa. fi
dc.format.extent 74 s. + liitt. 15 s.
dc.language.iso en en
dc.title Versioned data in SQL databases - A performance analysis en
dc.title Versioitu tieto SQL-tietokannoissa - Tehokkuusanalyysi fi
dc.type G2 Pro gradu, diplomityö fi
dc.contributor.school Perustieteiden korkeakoulu fi
dc.contributor.school Perustieteiden korkeakoulu fi
dc.subject.keyword tiedon versiointi fi
dc.subject.keyword SQL fi
dc.subject.keyword aikaulottuvuudet tietokannoissa fi
dc.subject.keyword suorituskyky fi
dc.subject.keyword suorituskykytesti fi
dc.subject.keyword data versioning en
dc.subject.keyword temporal database en
dc.subject.keyword performance en
dc.subject.keyword benchmark en
dc.identifier.urn URN:NBN:fi:aalto-201507013727
dc.type.dcmitype text en
dc.programme.major Ohjelmistotekniikka fi
dc.programme.mcode T-106
dc.type.ontasot Diplomityö fi
dc.type.ontasot Master's thesis en
dc.contributor.supervisor Saikkonen, Heikki


Files in this item

Files Size Format View

There are no files associated with this item.

This item appears in the following Collection(s)

Show simple item record

Search archive


Advanced Search

article-iconSubmit a publication

Browse

My Account