Precise and Efficient Incremental Update of Data Lineage Graph
Přesné efektivní inkrementální modifikace grafu datových toků
diploma thesis (DEFENDED)

View/ Open
Permanent link
http://hdl.handle.net/20.500.11956/173511Identifiers
Study Information System: 234472
Collections
- Kvalifikační práce [11266]
Author
Advisor
Referee
Zavoral, Filip
Faculty / Institute
Faculty of Mathematics and Physics
Discipline
Software Systems
Department
Department of Distributed and Dependable Systems
Date of defense
7. 6. 2022
Publisher
Univerzita Karlova, Matematicko-fyzikální fakultaLanguage
English
Grade
Excellent
Keywords (Czech)
{datové toky}|{inkrementální update}|{statická analýza}|{graf datových toků}|{Manta}Keywords (English)
{data lineage}|{incremental updates}|{static analysis}|{data flow graph}|{Manta}Datové toky jsou důležitým aspektem dnešního korporátního prostředí. MANTA Flow je platforma pro analýzu datových toků, která funguje na základě extrakce a analýzy zdrojových souborů zákazníka. Často se však stává, že zákazník chce aktualizovat graf datových toků pouze kvůli malé změně v jeho zdrojových souborech. Současně se ale v takovém případě všechny vstupní zdrojové soubory analyzují znovu a většina času se tak promarní analýzou nezměněných souborů. V této práci jsme představili způsob, jak lze analyzátor datových toků vylepšit pomocí inkrementálních updatů tak, aby analyzoval pouze zlomek všech vstupních souborů a přitom stále produkoval správné datové toky. V rámci práce jsme změnili způsob provádění celé analýzy tím, že jsme změnili gran- ularitu analýzy na mnohem menší části. Také jsme vylepšili mergovací algoritmus, aby rozpoznal, kdy by nezměněný soubor mohl vygenerovat rozdílný datový tok pomocí nových konceptů, jako jsou zdrojové segmenty, nebo nové akce při odstranění či vytvoření vrcholu. Na základě toho nyní upravený algoritmus analyzuje pouze všechny změněné soubory a několik málo nezměněných souborů, které by mohly vygenerovat odlišný datový tok ve srovnání s předchozí analýzou. Implementovali jsme také prototyp pro MANTA Oracle skener, který využívá těchto nových konceptů. Prototyp byl...
Data lineage forms an essential aspect of today's enterprise environment. MANTA Flow is a data lineage analysis platform that works based on extracting and analyzing customers' source files. However, often the customer wants to update the data lineage graph because of a slight change in provided source files. However, all of the input source files are currently reanalyzed, and most of the time is wasted analyzing unchanged files. In the thesis, we presented how the data lineage analyzer can be improved using incremental updates to analyze only a fraction of all input files while still producing the same correct data lineage. We changed how the whole analysis is done by changing the granularity of the anal- ysis to much smaller pieces. We also improved the merge algorithm to recognize when an unchanged file could generate a different data lineage using new concepts like source segments, node removal, or node creation. The new MANTA client algorithm now ana- lyzes only changed files and a few unchanged files that could generate a different lineage compared to the last analysis. We also implemented a prototype for the MANTA Oracle scanner that contains these new ideas. It was tested for both the correctness and the performance. 1