Název:
Vylepšení agregace dotazovacího enginu pro grafové databáze
Překlad názvu:
Improvement of data aggregation in query engine for graph databases
Autoři:
Gora, Martin ; Faltín, Tomáš (vedoucí práce) ; Nečaský, Martin (oponent) Typ dokumentu: Bakalářské práce
Rok:
2021
Jazyk:
cze
Abstrakt: [cze][eng] Proudové systémy mají vůči dotazovacím enginům pro grafové databáze výhodu při agregaci dat (části Group by a Order by), protože jim stačí uchovávat pouze agregované prvky, ale zase nedokáží provádět vyhledávání vzoru. V této práci jsme vytvořili statickou grafovou databázi s Labeled-property datovým modelem a pro ni dotazovací engine, který agreguje data klasickým přístupem až po dokončení vyhledávání vzoru. Dotazovací engine jsme následně upravili po vzoru prou- dových systémů tak, aby prováděl agregace již v průběhu vyhledávání vzoru. Cílem této práce bylo zjistit, zda danou úpravou dokážeme urychlit zpracování dotazů. Pro upravený i klasický přístup jsme navrhli a implementovali několik jednovláknových i paralelních řešení. Řešení jsme porovnali v rychlosti zpracování dotazů na reálných grafech s uměle vygenerovanými hodnotami vlastností. Zjistili jsme, že existují situace, kdy zmíněnou úpravou došlo k urychlení zpracování dotazů. Konkrétně se tak stalo pro paralelní řešení části Order by při třídění pomocí hodnot vlastností, jednovláknové řešení části Group by a posledně pro jednovláknové i paralelní řešení Single group Group by (dotaz obsahuje agregační funkce a nemá část Group by). 1Streaming systems have an advantage over query engines for graph databases with regard to data aggregation (clauses Group by and Order by), because they reduce the set of stored elements only to the aggregated values. However, streaming systems cannot perform pattern matching, unlike query engines. In this work, we created a static graph database with the Labeled-property graph model and a query engine that performs data aggregation using the classical approach of aggregating data after pattern matching was finished. Subsequently, we adjusted query processing in the query engine by applying streaming systems methods. As the result, the query engine was able to perform data aggregation during pattern matching. The goal of this work was to test whether the above-mentioned adjustments can improve performance of query processing. We designed and implemented a certain number of single-thread and parallel solutions for both the adjusted and the classical approach. Afterwards, we conducted experiments on real graphs with artificially generated property values in order to test performance of the created solutions. The experiments showed that there were situations where the adjusted approach had better performance. Specifically, it happened in the case of parallel solutions of Order by when sorting by property...
Klíčová slova:
grafové databáze|agregace dat|proudové systémy; graph databases|data aggregation|streaming systems