Nativní podpora vlastních analytických funkcí v PostgreSQL
Native support of custom analytics functions for PostgreSQL
dc.contributor.advisor | Stěhule Pavel | |
dc.contributor.author | Pavel Špecht | |
dc.date.accessioned | 2020-06-25T22:54:29Z | |
dc.date.available | 2020-06-25T22:54:29Z | |
dc.date.issued | 2020-06-25 | |
dc.identifier | KOS-1065790725305 | |
dc.identifier.uri | http://hdl.handle.net/10467/88834 | |
dc.description.abstract | Hlavní téma práce spočívá v nalezení způsobu, jak vytvořit window funkce v procedurálním jazyce PL/pgSQL, který je součástí databázového systému PostgreSQL. Nejdříve je představen koncept agregačních a window funkcí doplněný o jejich rozdíly a společné vlastnosti. Ve zdrojových kódech procedurálního jazyku se jsou identifikovány části, pomocí kterých se obecně funkce zpracovávají. Znalosti interních mechanismů je následně využito při tvorbě rozhraní umožňující operace s window funkcemi. Využívá se zde spojení několika již existujících vzorů, které ve výsledku umožní předání objektu obsahujícího potřebné informace na místa, kde se window funkce vytváří. Pro práci s tímto objektem je připravena sada funkcí sloužící jako prostředník mezi interpretem jazyku PL/pgSQL a tělem vlastní window funkce. V závěrečné části práce se porovná rychlost zpracování dotazu funkce v jazyce PL/pgSQL s ostatními existujícími možnostmi, jak lze v systému PostgreSQL window funkci vytvořit. Více než dvojnásobná rychlost zpracování dotazu oproti "konkurenční" variantě indikuje nejen splnění jednoho z hlavních cílů, ale i konkurenceschopnost rozhraní. Pozitivní výsledky testů ukazují, že by mělo smysl rozhraní realizovat, neboť by bylo v praxi použitelné. | cze |
dc.description.abstract | The main topic of this thesis can be considered as finding the way, how to create window functions in the procedural language PL/pgSQL, which is part of the database system PostgreSQL. Firstly, aggregate and window functions are described with their differences and common characteristics included. Secondly, key parts of the procedural language, responsible for function processing in general, are identified. The system knowledge allows the author to create interface managing window functions. Combination of several existing patterns provides access from the PL/pgSQL function body to the object, which bears necessary information. Set of functions, used as an intermediary between the PL/pgSQL interpreter and a window function body, is prepared to operate with the mentioned object. Lastly, interface creation is described along with performance comparison of custom window function based on SQL query with other existing possibilities of creating window function in PostgreSQL. More than twice faster query processing against "rival" option indicates a fulfilment of the thesis' goal. Moreover, a competitiveness of the interface was achieved. Promising test results imply the usability of possible interface. | eng |
dc.publisher | České vysoké učení technické v Praze. Vypočetní a informační centrum. | cze |
dc.publisher | Czech Technical University in Prague. Computing and Information Centre. | eng |
dc.rights | A university thesis is a work protected by the Copyright Act. Extracts, copies and transcripts of the thesis are allowed for personal use only and at one?s own expense. The use of thesis should be in compliance with the Copyright Act http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf and the citation ethics http://knihovny.cvut.cz/vychova/vskp.html | eng |
dc.rights | Vysokoškolská závěrečná práce je dílo chráněné autorským zákonem. Je možné pořizovat z něj na své náklady a pro svoji osobní potřebu výpisy, opisy a rozmnoženiny. Jeho využití musí být v souladu s autorským zákonem http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf a citační etikou http://knihovny.cvut.cz/vychova/vskp.html | cze |
dc.subject | implementace rozhraní | cze |
dc.subject | window funkce | cze |
dc.subject | PL/pgSQL | cze |
dc.subject | PostgreSQL | cze |
dc.subject | procedurální jazyk | cze |
dc.subject | porovnání rychlostí zpracování dotazu | cze |
dc.subject | interface implementation | eng |
dc.subject | window functions | eng |
dc.subject | PL/pgSQL | eng |
dc.subject | PostgreSQL | eng |
dc.subject | procedural language | eng |
dc.subject | query performance comparison | eng |
dc.title | Nativní podpora vlastních analytických funkcí v PostgreSQL | cze |
dc.title | Native support of custom analytics functions for PostgreSQL | eng |
dc.type | bakalářská práce | cze |
dc.type | bachelor thesis | eng |
dc.contributor.referee | Valenta Michal | |
theses.degree.discipline | Webové a softwarové inženýrství | cze |
theses.degree.grantor | katedra softwarového inženýrství | cze |
theses.degree.programme | Informatika | cze |
Soubory tohoto záznamu
Tento záznam se objevuje v následujících kolekcích
-
Bakalářské práce - 18102 [1724]