Master's Thesis

Use of Graph Databases to Store Metadata

Final Thesis 2.03 MB

Author of thesis: Bc. Dominik Pop

Acad. year: 2025/2026

Supervisor: Ing. Vladimír Bartík, Ph.D.

Reviewer: Ing. Petr John

Abstract:

This master's thesis explores the use of graph databases for metadata management. Using an abstract system built on the relational database as a~starting point, it designs and implements a~hybrid architecture in which selected graph operations over metadata are handled by the native graph database Neo4j, while the rest of the data layer remains in the original relational solution. The thesis compares both approaches in terms of performance on a~set of realistic query and synchronization scenarios and, based on the measured results, formulates recommendations for cases where it is worth to transition to a~graph database and where the relational solution still retains its merit.

Keywords:

graph databases, Neo4j, SQL Server, hybrid architecture, metadata management, data lineage, knowledge graph, Cypher, performance benchmarking, graph materialization

Date of defence

24.06.2026

Result of the defence

Defended (thesis was successfully defended)

znamkaBznamka

Grading

B

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

Topics for thesis defence

  1. Můžete uvést příklad metadat, které v systému ukládáte a znázornit na nich jak původní, tak nový způsob uložení?
  2. Na straně 39 píšete, že provádíte synchronizaci každých 30 minut. Může tedy aplikační rozhraní poskytovat stará data? Je tohle časté a problematické pro Vaši doménu?
  3. Zkoušel jste použít enterprise verzi?

Language of thesis

Czech

Faculty

Department

Study programme

Information Technology and Artificial Intelligence (MITAI)

Specialization

Information Systems and Databases (NISD)

Composition of Committee

prof. RNDr. Alexandr Meduna, CSc. (předseda)
doc. Ing. Radek Burget, Ph.D. (místopředseda)
RNDr. Marek Rychlý, Ph.D. (člen)
Ing. Šárka Květoňová, Ph.D. (člen)
Ing. Vladimír Veselý, Ph.D. (člen)
Ing. Jiří Hynek, Ph.D. (člen)

Supervisor’s report
Ing. Vladimír Bartík, Ph.D.

S přístupem studenta i výsledky jeho diplomové práce jsem spokojen, navrhuji proto nadprůměrné hodnocení B (velmi dobře). 

Evaluation criteria Verbal classification
Informace k zadání

Cílem této diplomové práce bylo prozkoumat možnosti ukládání metadat ve formě grafové databáze místo relační a experimentálně ověřit přínos tohoto přístupu. Byl navržen hybridní model, který metadata vhodným způsobem rozdělil mezi relační a grafovou databázi. Největším přínosem je pak výkonnostní testování navrženého řešení, které je rozsáhlé a je v technické zprávě podrobně dokumentováno. Student své zadání splnil a s výsledky jsem spokojen. 

Aktivita při dokončování

Práce byla dokončena včas, realizační výstup i technickou zprávu jsem měl možnost připomínkovat. 

Publikační činnost, ocenění
Práce s literaturou

Student si samostatně vyhledával veškeré studijní prameny, k práci s literaturou nemám výhrady. 

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

Student pracoval především samostatně, o postupu mě však informoval a termíny dodržoval. 

Points proposed by supervisor: 85

Grade proposed by supervisor: B

Reviewer’s report
Ing. Petr John

Pan Pop vytvořil zdařilé řešení, které značně optimalizuje práci s metadaty pomocí nahrazení stávajícího řešení založeného na relační databázi za jiné, které kombinuje jak relační databázi, tak grafovou. Student pro grafovou databázi zvolil Neo4j a využití obou systémů skryl za vhodné aplikační rozhraní. Vyzdvihnout v jeho práci musím průběh a kvalitu testování. Student kvalitně otestovat své řešení, a to jak z pohledu funkčnosti, tak z výkonnostního pohledu. Zvolená metodika je nadprůměrná. Technická zpráva má, bohužel, značné nedostatky. Jako největší vnímám rozsah a pokrytí teoretické části literaturou a strutrukturu analýzy, která je rozdělena mezi více kapitol. I přes zmíněné problémy technické zprávy řešení diplomové práce působí kvalitně. Z těchto důvodů navrhuji hodnocení stupněm B.

Evaluation criteria Verbal classification Points
Rozsah splnění požadavků zadání

Evaluation level: zadání splněno

Práce splňuje všechny body zadání. Jediné, co bych vytknul, je splnění bodu č. 7. Student popisuje jen dvě rozšíření (str. 79) a jedno z nich je zaměřené na proces testování, a ne na práci jako takovou. Poslední bod je tedy za mě splněn spíše minimalistickým způsobem. 

Rozsah technické zprávy

Evaluation level: přesahuje obvyklé rozmezí

Práce má delší než obvyklý rozsah, ale je stále v povoleném rozsahu.

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

Práce má dobrou logickou strukturu. Student začíná teoretickým popisem problematiky a analýzou současného použití relačních databází pro ukládání metadat. Ve druhé kapitole provádí jak analýzu požadavků na svůj systém, tak návrh samotného řešení. Následují kapitoly implementace a dvě kapitoly zaměřené na testování a na výkonnostní testování. Z mého pohledu je problematické střídání analýzy, teorie a návrhu. Takto je vnitřně strukturovaná první i druhá obsahová kapitola. V první kapitole slouží pro analýzu sekce 2.3 a ve druhé kapitole slouží k analýze sekce 3.1 a 3.5. Toto střídání snižuje čitelnost celého textu. Kapitola implementace je nadruhou stranu dlouhá a obsáhlá. Místy se kvůli tomu špatně četla. Z technické zprávy není velmi jasné, že se jednalo o práci vykonávanou ve spolupráci se společností. Tento fakt je v textu zmíněn až ke konci a není proto jasné, o jaká metadata se aplikace stará a jakého jsou charakteru. Očekával bych, že tyto části budou v textu rozvedeny, nebo alespoň ukázány na vhodných příkladech.

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

Formální úprava zprávy má místy značné nedostatky. Text obsahuje velké množství krátkých odstavců (např. na straně 7) a vysoké zanoření (např. strany 8 a 28), výpisy neobsahující popisky (např. strany 25 a 26) a místy až hovorové výrazy (např. strana 71 ve druhém odstavci konec čtvrté věty slovo překlopení).

75
Práce s literaturou

Student opírá svou teoretickou část o 15 zdrojů. Teorie jako taková je obsažena na přibližně deseti stranách v první obsahové kapitole. Místy student používá nedefinované pojmy a pojmy neodkazující na žádnou literaturu (např. ETL proces a Vendor Lock-In). Z mého pohledu je použití i popis literatury v práci spíše slabšího charakteru.

50
Realizační výstup

Realizační výstup studenta se je na velmi dobré úrovni. Zdrojové kódy obsahují dostatečnou dokumentaci jak pomocí komentářů přímo v kódu, tak pomocí dodatečných souborů s instrukcemi (tzv. README). Kód je dobře strukturovaný a otestovaný. Velmi pozitivně hodnotím zvolenou metodiku testování a její popis. Student se zaměřil nejen na tradiční testování funkcionality, ale také na výkonnostní testování a jeho vyhodnocení na základě statistických metod. Obě kapitoly zaměřené na testování tak považuji za velmi zdařilé. Díky těmto charakterům zpracování považuji výstup za kvalitní a použitelný v praxi.

95
Využitelnost výsledků

Jedná se o práci kompilačního charakteru, která značně optimalizuje práci s metadaty použitím grafové databáze Neo4j. Usuzuji, že řešení bude využitelné společností, se kterou student v rámci řešení spolupracoval.

Náročnost zadání

Evaluation level: obtížnější zadání

Cílem diplomové práce bylo analyzovat současné řešení pro ukládání metadat, navrhnout a implementovat efektivnější řešení využívající grafovou databázi. Po implementaci student musel výsledné řešení porovnat s aktuálně používaným řešením a vyhodnotit, zda-li je nové řešení vhodnější. Zadání jako takové považuji za průměrně obtížné, řešení studenta ale odpovídá zadání vyšší obtížnosti.

Topics for thesis defence:
  1. Můžete uvést příklad metadat, které v systému ukládáte a znázornit na nich jak původní, tak nový způsob uložení?
  2. Na straně 39 píšete, že provádíte synchronizaci každých 30 minut. Může tedy aplikační rozhraní poskytovat stará data? Je tohle časté a problematické pro Vaši doménu?
Points proposed by reviewer: 85

Grade proposed by reviewer: B

Responsibility: Mgr. et Mgr. Hana Odstrčilová