{"id":27008,"date":"2026-09-27T20:02:28","date_gmt":"2026-09-27T18:02:28","guid":{"rendered":"https:\/\/www.itspy.cz\/thesis\/in-memory-database-for-web-browser\/"},"modified":"2026-09-27T20:05:06","modified_gmt":"2026-09-27T18:05:06","slug":"in-memory-database-for-web-browser","status":"publish","type":"thesis","link":"https:\/\/www.itspy.cz\/en\/thesis\/in-memory-database-for-web-browser\/","title":{"rendered":"In-memory database for web browser"},"content":{"rendered":"<p>This thesis introduces DortDB, a TypeScript in-memory<br \/>\ndatabase. DortDB is entirely modular and extensible. It can<br \/>\nbe configured with different query languages and can<br \/>\ncombine multiple languages in a single query. To this end,<br \/>\nwe have designed the unified algebra that supports<br \/>\nrelational, document, and graph models. We have implemented<br \/>\na query optimizer that optimizes the combined logical plan<br \/>\nacross language boundaries, as well as a system for<br \/>\nextensible secondary indices. Part of the thesis is also<br \/>\nthe DortDB Showcase, a GUI for inspecting logical plans,<br \/>\nexperimenting with various optimizations, and querying<br \/>\ndata. We have evaluated DortDB with other multimodel<br \/>\ndatabases on the UniBench benchmark and compared it with<br \/>\ntwo JavaScript in-memory SQL databases using the TPC-H<br \/>\nqueries.<\/p>\n","protected":false},"featured_media":26779,"template":"","meta":{"_acf_changed":false,"_links_to":"","_links_to_target":""},"university":[465,426],"thesis-year":[466],"class_list":["post-27008","thesis","type-thesis","status-publish","has-post-thumbnail","hentry","thesis-year-466"],"acf":{"autor":"Filip Je\u017eek","portret":"","vedouci":"RNDr. Michal Kopeck\u00fd, Ph.D."},"_links":{"self":[{"href":"https:\/\/www.itspy.cz\/en\/wp-json\/wp\/v2\/thesis\/27008","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.itspy.cz\/en\/wp-json\/wp\/v2\/thesis"}],"about":[{"href":"https:\/\/www.itspy.cz\/en\/wp-json\/wp\/v2\/types\/thesis"}],"version-history":[{"count":1,"href":"https:\/\/www.itspy.cz\/en\/wp-json\/wp\/v2\/thesis\/27008\/revisions"}],"predecessor-version":[{"id":27063,"href":"https:\/\/www.itspy.cz\/en\/wp-json\/wp\/v2\/thesis\/27008\/revisions\/27063"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.itspy.cz\/en\/wp-json\/wp\/v2\/media\/26779"}],"wp:attachment":[{"href":"https:\/\/www.itspy.cz\/en\/wp-json\/wp\/v2\/media?parent=27008"}],"wp:term":[{"taxonomy":"university","embeddable":true,"href":"https:\/\/www.itspy.cz\/en\/wp-json\/wp\/v2\/university?post=27008"},{"taxonomy":"thesis-year","embeddable":true,"href":"https:\/\/www.itspy.cz\/en\/wp-json\/wp\/v2\/thesis-year?post=27008"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}