Vis enkel innførsel

dc.contributor.advisorBratsberg, Svein Erik
dc.contributor.authorBakken, Edvard Viggaklev
dc.date.accessioned2019-10-31T15:17:04Z
dc.date.available2019-10-31T15:17:04Z
dc.date.issued2019
dc.identifier.urihttp://hdl.handle.net/11250/2625824
dc.description.abstractEr det mulig å erstatte flere databasetyper med én enkelt database? FoundationDB, som nylig ble sluppet som åpen kildekode, lover å tilby akkurat dette, uten å måtte ofre integritet eller ytelse. Den påstår å kunne levere en minimalistisk databasemotor, med sterke garantier for pålitelige transaksjoner, som kan tilpasses enhver datamodell. Den kan potensielt redusere kompleksiteten og kostnadene i ethvert stort prosjekt, ved å fungere som en samlet erstatning for flere systemer på en gang. Høsten 2018 lanserte FoundationDB en utvidelse til databasen, FoundationDB Document Layer, som skal kunne være en ”plug-and-play”-erstatning for MongoDB i eksisterende systemer. Denne masteroppgaven undersøker akitekturen og nøkkeltrekkene ved FoundationDB og Document Layer, for å avdekke deres sterke og svake sider. Systemet sammenlignes med MongoDB, en veletablert og populær NOSQL-database. Det gjennomføres innledende tester, og resultatene benyttes i utviklingen av et spesialisert test-verktøy for de to systemene. Intensjonen er å evaluere FoundationDB sitt potensiale som en erstatning for eksisterende systemer. Undersøkelsen viser at FoundationDB tilbyr en robust og skalerbar key-value-database, uten unødvendig ekstra funksjonalitet. Den har transaksjoner som oppfyller ACID-kravene, noe som gir sterkere garantier enn mange andre utfordrere, inkludert MongoDB. FoundationDB tilbyr et ekstensivt API som tillater brukere å tilpasse systemet til deres behov. Den nylig lanserte utvidelsen virker dog ikke å være moden nok til å erstatte MongoDB. Ytelses-tester avslørte noe skuffende resultater, og det ble oppdaget flere feil og mangler som må utbedres før Document Layer kan anses som en reell utfordrer.
dc.description.abstractIs it possible to replace several different database types with a single database? The newly open-sourced FoundationDB promises just that, without compromising on integrity or performance. It claims to provide a minimalist storage engine, with strong guarantees, that can be molded to fit any data model. It could possibly reduce the complexity and costs of any large project, by acting as a single replacement for several systems at once. In the fall of 2018, FoundationDB released a plugin, the Document Layer, that claims to act as a plug-and-play replacement for MongoDB in existing applications. This thesis examines the architecture and features of FoundationDB and the Document Layer, uncovering their strengths and weaknesses. Additionally, the system is compared to MongoDB, a well-established and popular NOSQL database. Preliminary benchmarks are performed, and the results are used to guide the creation of a custom benchmarking tool, specialized for the two systems. The intention is to evaluate FoundationDB's potential as a replacement for existing systems. The examination shows that FoundationDB provides a highly scalable and robust key-value store, stripped of supplemental features. It has fully ACID-compliant transactions, providing much stronger guarantees than most competitors, including MongoDB. FoundationDB exposes an extensive API, allowing users to tailor the system to their needs. However, the newly released plugin is deemed not mature enough to replace MongoDB. Performance results were somewhat disappointing, and a wide range of benchmarking workloads revealed flaws that must be resolved before the Document Layer can be considered as a true competitor.
dc.languageeng
dc.publisherNTNU
dc.titleEvaluating FoundationDB as a replacement for MongoDB
dc.typeMaster thesis


Tilhørende fil(er)

Thumbnail
Thumbnail

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

Vis enkel innførsel