bakalářská práce

Pluginy pro efektivní úložiště dat v knihovně sysrepo

Text práce 856.24 kB Příloha 2.25 MB

Autor práce: Bc. Ondrej Kušnírik

Ak. rok: 2023/2024

Vedoucí: Ing. Jiří Matoušek, Ph.D.

Oponent: doc. Ing. Tomáš Martínek, Ph.D.

Abstrakt:

Tato práce se zabývá seznámením čtenáře s knihovnou sysrepo a jejími pluginy pro úložiště, problémy s ukládáním dat do souborů a řešením těchto problémů napojením databáze na knihovnu sysrepo. Ve zkratce se tato knihovna využívá jako komplexní úložiště konfiguračních dat YANG v unixových/linuxových systémech. Data, která výchozí plugin knihovny ukládá do souborů, nemohou být dostatečně rychle a efektivně spravována, což způsobuje celkové zpomalení práce s daty. Jako řešení se nabízí použití databáze, která bude na knihovnu sysrepo napojena za pomoci implementace pluginu pro úložiště. Porovnáním jednotlivých databází byly zvoleny dvě (MongoDB a Redis) z hlediska efektivity práce s daty YANG a dalších kvalitativních vlastností. Pro tyto databáze byly následně implementovány pluginy pro úložiště, které byly nakonec podrobeny optimalizacím a výkonnostním testům. V porovnání s původním pluginem založeným na souborech vynikají implementované pluginy založené na databázích především v operacích s malým množstvím dat, kdy například při načítání jednoho prvku ze statisíc dochází ke zrychlení až o tři řády.

Klíčová slova:

sysrepo, YANG, databáze, plugin pro úložiště, MongoDB, Redis

Termín obhajoby

12.06.2024

Výsledek obhajoby

obhájeno (práce byla úspěšně obhájena)

znamkaAznamka

Klasifikace

A

Průběh obhajoby

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.

Otázky k obhajobě

  1. Jakým způsobem výkonnost pluginů ovlivňují úpravy spojené s uživatelem řazenými seznamy?
  2. Jaký vliv na výkonnost má samotná knihovna sysrepo? Co se vyplatí optimalizovat jako první?
  3. Co byste optimalizoval jako první?

Jazyk práce

čeština

Fakulta

Ústav

Studijní program

Informační technologie (BIT)

Složení komise

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)

Posudek vedoucího
Ing. 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.

Kritérium hodnocení Slovní hodnocení
Informace k zadání

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.

Práce s literaturou

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.).

Aktivita během řešení, konzultace, komunikace

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.

Aktivita při dokončování

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.

Publikační činnost, ocenění

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.

Výsledný počet bodů navržený vedoucím: 95
Zobrazit více

Známka navržená vedoucím: A

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).

Kritérium hodnocení Slovní hodnocení Body
Náročnost zadání

Stupeň hodnocení: 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é.

Prezentační úroveň technické zprávy

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ý.

85
Formální úprava technické zprávy

Po jazykové i typografické stránce je práce na dobré úrovni. Rušivě působí pouze drobné prohřešky typu:

  • Velké počáteční písmeno v odkazech např. viz Výpis, viz Tabulka apod.
  • Tečka před odkazem na literaturu, který je součástí věty.
75
Realizační výstup

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ů.

95
Využitelnost výsledků

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

Rozsah splnění požadavků zadání

Stupeň hodnocení: zadání splněno

Rozsah technické zprávy

Stupeň hodnocení: je v obvyklém rozmezí

Práce s literaturou

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ů.

70
Otázky k obhajobě:
  1. Jakým způsobem výkonnost pluginů ovlivňují úpravy spojené s uživatelem řazenými seznamy?
  2. Jaký vliv na výkonnost má samotná knihovna sysrepo? Co se vyplatí optimalizovat jako první?
Výsledný počet bodů navržený oponentem: 85
Zobrazit více

Známka navržená oponentem: B

Odpovědnost: Mgr. et Mgr. Hana Odstrčilová