Vis enkel innførsel

dc.contributor.advisorBratsberg, Svein Erik
dc.contributor.authorBugge, Vegard Bjerkli
dc.date.accessioned2018-11-08T15:00:31Z
dc.date.available2018-11-08T15:00:31Z
dc.date.created2018-06-11
dc.date.issued2018
dc.identifierntnudaim:19327
dc.identifier.urihttp://hdl.handle.net/11250/2571691
dc.description.abstractEn av de største utfordringene innen drift av moderne kommersielle programvaresystemer som bankapplikasjoner, sosiale medier og netthandelsystemer er kunsten å minimalisere nedetid som følger av oppdatering av systemet. For mange store bedrifter som eier og administrerer slike systemer er det totalt uaktuelt å slå av hele eller deler av systemet for å installere en liten programvareoppdatering eller resirkulere minne. Til det vil nedetiden til systemet medføre utålelige inntektstap. Derfor oppgraderer mange bedrifter systemene sine på levende vis, det vil si at oppgraderingen gjøres uten å slå av en eneste datamaskin, og uten å forstyrre behandlingen av forespørsler fra brukere. Erfaringer fra industriene tilsier at slike levende oppgraderinger er lettere sagt enn gjort, især når det kommer til oppgraderinger av applikasjonens datamodell, eller ''skjema'' som det heter i relasjonelle databaser, mens den opererer i et produksjonsmiljø. Når et programvaresystem som opererer med mange brukere og mye trafikk oppgraderes levende befinner det i en spesiell tilstand: Versjonsmiks. I et distribuert, versjonsmikset system eksisterer to forskjellige applikasjonsinstanser parallelt på forskjellige tjenestenoder, med to forskjellige utgaver av datamodellen. I denne tilstanden kan det oppstå en spesiell type tjenestesvikt, der den oppdaterte applikasjonslogikken slår opp på et dataobjekt opprettet eller oppdatert i en tidligere versjon av applikasjonens logikk slik at data i aggregatet ikke passer den nye applikasjonslogikken. Denne masteroppgaven setter som mål å realisere støtte for levende migrasjon av delvis strukturerte datamodeller i høytilgjengelige systemer uten nedetid, ved å utvikle en separat programvaremodul. Dette verktøyet tillater applikasjonsutviklere å legge inn transformasjonsfunksjoner som kalles på ''lazy'' vis når hver enkelt datatuppel aksesseres i databasen. Dette verktøyet setter også som mål å dirigere tjenesteforespørsler slik at enhver applikasjonsinstans kun opererer på dataobjekter skrevet på en matchende datamodell, og således unngå systemfeil relatert til versjonsmiksing.
dc.languagenob
dc.publisherNTNU
dc.subjectDatateknologi, Databaser og søk
dc.titleDBUpgradinator - Levende migrasjon av NoSQL-datamodeller
dc.typeMaster thesis


Tilhørende fil(er)

Thumbnail
Thumbnail

Denne innførselen finnes i følgende samling(er)

Vis enkel innførsel