Course: Laurea Triennale in Ingegneria e Scienze Informatiche
Type: Progetto
Abstract: la tesi consisterà nello sviluppo di un key-value store persistente ad alte prestazioni e accessibile in maniera concorrente da più processi, che possa gestire quantità di dati tali da non poter risiedere in memoria.
Lo studente dovrà sviluppare il progetto facendo wrapping della libreria open source RocksDB, scegliendo come linguaggio di programmazione uno fra C++, Java, Kotlin o Rust. Inoltre, sarà richiesto il rispetto di alcuni vincoli di design aggiuntivi, e di seguire le buone pratiche di progettazione e sviluppo del software.
Infine, lo studente dovrà effettuare uno studio dettagliato delle prestazioni della soluzione creata, messa a confronto con altre tecniche di storage, che spaziano dall’uso del file system all’impiego di DBMS SQL-based e NoSQL esistenti.
Advisor/Co-Advisor: Prof. Annalisa Franco / Nicolò Di Domenico
Note: è richiesta buona padronanza del sistema di controllo versione Git e della piattaforma GitHub.