Přístupnostní navigace
E-application
Search Search Close
Bachelor's Thesis
Author of thesis: Bc. Ondrej Kušnírik
Acad. year: 2023/2024
Supervisor: Ing. Jiří Matoušek, Ph.D.
Reviewer: doc. Ing. Tomáš Martínek, Ph.D.
This work concerns an introduction to the sysrepo library and its datastore plugins, problems with storing data to files and solving these problems by connecting a database to the sysrepo library. In short, this library serves as a complex repository for configuration YANG data on Unix/Linux systems. Data, which the default plugin stores in files, cannot be managed fast and efficiently enough causing overall slowdown of data management. A database connected to the sysrepo library via a datastore plugin could however solve this issue. After comparing different databases, two were selected (MongoDB and Redis) based on work efficiency with YANG data and other qualities. The datastore plugins were then implemented for these databases, optimized and tested for performance at the end. In comparison to the original plugin based on files, the plugins based on databases primarily excel at management of low amounts of data, where for instance the loading of an element from one hundred thousand is faster by up to three orders of magnitude.
sysrepo, YANG, database, datastore plugin, MongoDB, Redis
Date of defence
12.06.2024
Result of the defence
Defended (thesis was successfully defended)
Grading
A
Process of defence
Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm A.
Topics for thesis defence
Language of thesis
Czech
Faculty
Fakulta informačních technologií
Department
Department of Computer Systems
Study programme
Information Technology (BIT)
Composition of Committee
doc. Dr. Ing. Dušan Kolář (předseda) Ing. Vladimír Bartík, Ph.D. (člen) Ing. Jaroslav Dytrych, Ph.D. (člen) doc. Mgr. Adam Rogalewicz, Ph.D. (člen) Ing. Marcela Zachariášová, Ph.D. (člen)
Supervisor’s reportIng. Jiří Matoušek, Ph.D.
V rámci bakalářské práce byly vytvořeny pluginy pro úložiště dat v open-source knihovně sysrepo a tyto pluginy byly také úspěšně integrovány do produkční verze uvedené knihovny, která je využívána i velkými telekomunikačními operátory. Řešení bakalářské práce mělo pravidelný průběh, díky čemuž byly veznačném předstihu naplněny všechny body zadání a bylo možné dostatečně zkonzultovat i výslednou podobu technické zprávy k bakalářské práci. S prací studenta jsem tudíž velmi spokojen a navrhuji hodnocení bakalářské práce stupněm výborně / A.
Bakalářská práce se zaměřovala na oblast pluginů pro úložiště dat v rámci široce používané open-source knihovny sysrepo, která je vyvíjena sdružením CESNET. Náročnost bakalářské práce spočívala především v požadavku na kompatibilitu jejích výsledku s existující knihovnou, jež je produkčně využívána komerčními společnostmi, včetně velkých telekomunikačních operátorů. I přes tuto náročnost byly všechny body zadání úspěšně naplněny.
Student si sám aktivně vyhledával studijní materiály a pracoval se zdroji, které jsou relevantní vzhledem k zaměření bakalářské práce (dokumentace knihovny sysrepo a zvažovaných databází, RFC dokumenty, aj.).
Postup práce byl průběžně konzultován s odborným konzultantem Mgr. Michalem Vaškem ze sdružení CESNET. Během celé doby řešení bakalářské práce byl student aktivní a na jednotlivé konzultace byl vždy připraven.
Bakalářská práce byla dokončena ve značném předstihu, díky čemuž bylo možné její výslednou podobu dostatečně zkonzultovat.
Vytvořené pluginy pro úložiště dat v knihovně sysrepo byly úspěšně integrovány do veřejného repozitáře open-source knihovny sysrepo.
Grade proposed by supervisor: A
Reviewer’s reportdoc. Ing. Tomáš Martínek, Ph.D.
Jedná se o velmi zdařilou bakalářskou práci. Student v ní pečlivě analyzoval a testoval různé databáze a jejich použitelnost ve spojení s knihovnou sysrepo. Výstupní kódy jsou kvalitně napsané a připravené pro použití v praxi. Vytknou lze jen drobné prohřešky v technické zprávě. Souhrnně proto hodnotím stupněm velmi dobře (B).
Evaluation level: průměrně obtížné zadání
Cílem práce bylo vytvořit pluginy pro knihovnu sysrepo zajišťující efektivní komunikaci s databází. Zadání považuji za průměrně obtížné.
Struktura i rozsah technické zprávy je v pořádku, včetně návaznosti jednotlivých kapitol. Text je pro čtenáře čitelný a dobře pochopitelný. V některých případech by stálo za zvážení sloučit větší množství menších tabulek do jedné větší, ale i aktuální způsob prezentace není pro čtenáře nikterak rušivý.
Po jazykové i typografické stránce je práce na dobré úrovni. Rušivě působí pouze drobné prohřešky typu:
Výstupem práce jsou pluginy pro knihovnu sysrepo v jazyce C. Vytvořený kód je ve formě open-source, plně funkční a velmi dobře strukturovaný. Samotný kód pluginů je doplněn řadou experimentů.
Výstupy práce jsou kompilačního charakteru, avšak předpokládá se jejich přímé nasazení v praxi v rámci knihovny sysrepo.
Evaluation level: zadání splněno
Evaluation level: je v obvyklém rozmezí
Literatura je tvořena primárně odkazy na webové stránky, což je z větší části dáno charakterem práce, které se musí odkazovat na řadu existujících nástrojů/databází a jejich vlastností. Na druhou stranu určitě budou existovat i kvalitnější literární zdroje (konferenční nebo časopisecké články) zaměřené např. na měření a analýzu výkonnosti různých databázových systémů.
Grade proposed by reviewer: B
Responsibility: Mgr. et Mgr. Hana Odstrčilová