Show simple item record

dc.contributor.advisorMidtbø, Terje
dc.contributor.advisorSveen, Atle Frenvik
dc.contributor.authorKjelsaas, Lars Furu
dc.date.accessioned2021-09-20T16:02:14Z
dc.date.available2021-09-20T16:02:14Z
dc.date.issued2020
dc.identifierno.ntnu:inspera:55924330:32646787
dc.identifier.urihttps://hdl.handle.net/11250/2779316
dc.description.abstractMange geografiske datasett blir oppdatert samlet, med jevnlig publisert av fullverdige, nye versjoner. For en del applikasjoner er imidlertid det historiske perspektivet og endringen av data mellom versjoner viktig informasjon for å kunne nyttiggjøre dataene. Ved å bruke Event Sourcing kan dette representeres mer nøyaktig og effektivt. Ved å lagre hendelser som inneholder endringene til objekter, istedenfor statiske data, kan mer informasjon om tid bli lagret. Tilnærmingen kan også muliggjøre nye måter å bruke og distribuere dataene på mellom systemer. For å transformere stillbilde-data til en hendelsesstrøm med endringer, er det nødvendig å beregne forskjellen mellom datasett for å fange opp endringene. Dette er beregningsintensivt for store datasett, spesielt når fokuset ligger på endringsnyanser til geografiske objekter. Ettersom forskjeller kan bli representert på enkeltgjenstandsbasis, kan parallellisering av beregningen bidra til å øke gjennomstrømmingen av data, og dermed redusere kjøretiden. Azure Functions og andre serverløse arkitekturer er et nytt paradigme innen skytjenester, som tilbyr skalering av ressurser etter behov uten å måtte bekymre seg for oppsettet av underliggende maskinvare. Evnen til å skalere fra null til massiv, parallell prosessering virker godt egnet for de planlagte, store prosesseringsjobbene som er nødvendige for Event Sourcing av store geografiske datasett. En prosesseringsløype ble laget ved hjelp av en «vedvarende orkestreringsfunksjon» som håndterte dataflyten mellom ulike funksjoner. Dette tillot parallellisering av prosessering over flere klynger med virtuelle maskiner, noe som ellers ville vært utfordrende. Ved å bruke åpne standarder og tydelig definerte dataobjekter ble prosesseringsløypen laget med tanke på modularitet, med mulighet for å bytte ut enkeltkomponenter ved behov. De første resultatene fra den implementerte prosesseringsløypa viser lovende resultater, men det er nødvendig med mer arbeid for å finne et best mulig oppsett. Systemet kan behandle hundrevis av oppdateringer, men sliter når antall oppdateringer øker utover dette. En mulighet for å skalere kapasiteten videre er å introdusere flere lag med orkestreringsfunksjoner, for å dele den parallelle arbeidsflyten ytterligere. Denne avhandlingen har utforsket krysningspunktet mellom geografiske beregningsmetoder, Event Sourcing og serverløs databehandling og kommet fram til lovende funn. Videre arbeid bør kunne avdekke interessante resultater, siden teknologiene har flere likheter og mulige synergier.
dc.description.abstractMany geospatial datasets are updated in bulk, and new versions are published as full, new datasets. For some applications, the historical perspective and the change of data over time is vital information for the use of the data. By introducing Event Sourcing, the changing nature of the underlying data can be presented more accurately and efficiently. By storing events that contain the changes to objects, rather than storing static states, more temporal information can be represented. The approach may also enable new ways of using and distributing the data to other systems. To transform snapshotted data to an event stream of changes, one must compute the difference between two versions of a dataset to capture the changes. This is computation intensive for large datasets, especially when working with the nuances of geospatial objects. As differences could be represented on a single-object basis, parallelizing the computation could help handle the amount of computation required in a timely fashion. Azure Functions and other serverless architectures represent a new paradigm of cloud services that promises scaling of resources as need arises without having to worry about the setup of underlying server hardware. The ability to scale from zero to massive, parallel processing seems well fit for the scheduled, large processing jobs that is required for Event Sourcing large geospatial datasets. A pipeline was built using a durable orchestration function that handled dataflow between multiple functions. This allowed processing to be parallelized over clusters of virtual machines. By utilizing open standards and defined data objects, the pipeline was made with modularity in mind, with the possibility of swapping out components if the need arises in the future. Initial results from the implemented pipeline show promising results, but more work is needed to find the optimal setup. The system can process hundreds of updates, but struggle when the number of required updates increase beyond this. One possible route for scaling capacity further is to introduce multiple layers of orchestrators to further divide up the parallel workflow. This thesis has experimented in the crossing point between geocomputation, Event Sourcing and serverless computing and discovered some possibilities. Further work should reveal interesting results, as the combination has many synergies and similarities.
dc.language
dc.publisherNTNU
dc.titleA cloud-based pipeline for Event Sourcing of geospatial data
dc.typeMaster thesis


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record