Original title:
Pluginy pro efektivní úložiště dat v knihovně sysrepo
Translated title:
Plugins for Efficient Datastore in the Sysrepo Library
Authors:
Kušnírik, Ondrej ; Martínek, Tomáš (referee) ; Matoušek, Jiří (advisor) Document type: Bachelor's theses
Year:
2024
Language:
cze Publisher:
Vysoké učení technické v Brně. Fakulta informačních technologií Abstract:
[cze][eng]
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.
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.
Keywords:
database; datastore plugin; MongoDB; Redis; sysrepo; YANG; databáze; MongoDB; plugin pro úložiště; Redis; sysrepo; YANG
Institution: Brno University of Technology
(web)
Document availability information: Fulltext is available in the Brno University of Technology Digital Library. Original record: https://hdl.handle.net/11012/247461