< Terug naar vorige pagina

Project

Geavanceerde ondersteuning voor datamodelering en -mapping in NoSQL databases.

In recente jaren is het landschap der databasesystemen in enorme mate gediversifieërd aangezien deze systemen moeten kunnen omgaan met een immense toevloed van heterogene gegevens. Deze vereiste heeft significante limieten aangetoond bij traditionele relationale database systemen vanwege hun te stricte structuur en gelimiteerd vermogen om horizontaal te schalen. Als oplossing werden “Not only SQL” of NoSQL databases geïntroduceerd. Dit zijn database systemen die typisch voordelen bieden via ondersteuning voor meer flexible data modellen, gespecializeerde (zoek-)functionaliteit, en zowel horizontale als elastische schaalbaarheid.

Elk type NoSQL database is gericht op een verschillende toepassing, data model, en set van functionaliteiten geassocieerd met het ondersteunde data model. Momenteel bestaan er meer dan 225 NoSQL technologieën. De wetenschappelijke uitdagingen behandeld binnen dit onderzoek zijn gemotiveerd door de aanlokkelijke voordelen van NoSQL, en stemmen voornamelijk uit zowel hun nieuwe aard, alsook de immense heterogeniteit die bestaat in NoSQL. We behandelen in het algemeen drie wetenschappelijke uitdagingen gerelateerd aan: (i) de complexe keuze en correcte vergelijking tussen databases, (ii) het bevorderen van hun technologische adoptie via gebruiksvriendelijke object-database mappers die een (uniforme) interface en data model abstractie aanbieden. Ten derde, (iii) deze databases vereisen een efficiënt gebruik en correcte configuratie die zeer afhankelijk is van de applicatie en het gebruiksscenario.

De initiële wetenschappelijke onderzoeksuitdaging begint met de selectie van een NoSQL technologie voor een bepaald gebruiksscenario. Typisch worden in de praktijk database benchmarks gebruikt om NoSQL-technologieën te evalueren en vergelijken. Binnen de context van heterogene NoSQL databasesystemen stelt zich de onderzoeksuitdaging om te bepalen welke benchmarks er bestaan, hoe ze omgaan met de technologische diversiteit van NoSQL, en of ze al dan niet voldoende zijn om een vergelijking te faciliteren.

Ten tweede, het gebruik van NoSQL databases door ontwikkelaars kan tevens uitdagend zijn wanneer ze programmeren tegen een specifieke low-level DB API, hetgeen gepaard kan gaan met het risico tot technologische lock-in en beperkingen voor migratie van zowel de data als de applicatie. Object-DB mappers laten ontwikkelaars echter database toegang toe via een bekende (bv. gestandardizeerde) interface en object data model. We onderzoeken hoe mappers met NoSQL ondersteuning zich hebben aangepast voor een zeer diverse set van data models (grafen, documenten, kolommen) en unieke query talen.

Het derde onderzoeksdomein is gerelateerd aan de selectie van een (initieel) schema of data ontwerp, zo’n ontwerp is in sterk contrast tot relationele databases aangezien ze een veel hogere graad van data redundantie verkiezen. Men moet in zo’n geval de keuze afwegen welke data te kopiëren en te groeperen wanneer ze vaak samen worden opgevraagd. Dit is een multi-dimensioneel modellerings probleem, en in de praktijk zullen ontwikkelaars zich moeten berusten op hun ervaring, algemene richtlijnen, heuristieken, of ontwerptools.

Dit onderzoek presenteert contributies op alle drie domeinen. Allereerst voorzien we een beoordeling van beschikbare benchmarks om NoSQL databases te vergelijken en evalueren op basis van performantie, en voor verschillende applicaties. Ten tweede, we contribueren een systematische studie over bestaande object-NoSQL database mappers (ONDMs).  Ten derde, we voorzien onze DBSR ontwerp ondersteuningstool dat op een workload-gedreven manier schema’s kan genereren voor document databases. Deze tool kan de complexe taak van schema ontwerp vereenvoudigen.

Datum:8 dec 2016 →  20 jan 2022
Trefwoorden:NoSQL databases, Federated storage
Disciplines:Toegepaste wiskunde, Computerarchitectuur en -netwerken, Distributed computing, Informatiewetenschappen, Informatiesystemen, Programmeertalen, Scientific computing, Theoretische informatica, Visual computing, Andere informatie- en computerwetenschappen
Project type:PhD project