In-memory database for web browser
In-memory databáze pro webový prohlížeč
diplomová práce (OBHÁJENO)
Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/209701Identifikátory
SIS: 268933
Kolekce
- Kvalifikační práce [12356]
Autor
Vedoucí práce
Oponent práce
Lokoč, Jakub
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Informatika - Softwarové a datové inženýrství
Katedra / ústav / klinika
Katedra softwarového inženýrství
Datum obhajoby
9. 6. 2026
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Angličtina
Známka
Výborně
Klíčová slova (česky)
SQL|Relační model dat|JSON|In-memory databáze|multimodelová databázeKlíčová slova (anglicky)
SQL|Relational Data Model|JSON|In-memory database|multimodel databaseTato práce popisuje DortDB, in-memory databázi implementovanou v TypeScriptu. DortDB je plně modulární a rozšiřitelná. V DortDB lze používat různé dotazovací jazyky, které je možné střídat i libovolně vnořovat v rámci jednoho dotazu. Za tímto účelem jsme navrhli sjednocenou algebru, která podporuje relační, dokumentový i grafový da- tový model. Implementovali jsme optimalizátor dotazů, který je díky sjednocené algebře schopen optimalizovat dotazy napříč různými jazyky. Dále jsme navrhli systém rozšiři- telných indexů. Součástí práce je rovněž DortDB Showcase, grafické uživatelské rozhraní pro zkoumání logických plánů, experimentování s různými optimizacemi a dotazování se nad daty. DortDB jsme vyhodnotili spolu s jinými multimodelovými databázemi na Uni- Bench testech. Také jsme DortDB srovnali se dvěma dalšími in-memory JavaScriptovými SQL databázemi na dotazech z TPC-H.
This thesis introduces DortDB, a TypeScript in-memory database. DortDB is en- tirely modular and extensible. It can be configured with different query languages and can combine multiple languages in a single query. To this end, we have designed the unified algebra that supports relational, document, and graph models. We have im- plemented a query optimizer that optimizes the combined logical plan across language boundaries, as well as a system for extensible secondary indices. Part of the thesis is also the DortDB Showcase, a GUI for inspecting logical plans, experimenting with various optimizations, and querying data. We have evaluated DortDB with other multimodel databases on the UniBench benchmark and compared it with two JavaScript in-memory SQL databases using the TPC-H queries.
