Experimental Analysis of Querying in Modern Database Systems
Experimentální analýza dotazování v moderních databázových systémech
bachelor thesis (DEFENDED)
View/ Open
Permanent link
http://hdl.handle.net/20.500.11956/192942Identifiers
Study Information System: 254988
Collections
- Kvalifikační práce [11244]
Author
Advisor
Referee
Holubová, Irena
Faculty / Institute
Faculty of Mathematics and Physics
Discipline
Computer Science with specialisation in Programming and Software Development
Department
Department of Software Engineering
Date of defense
5. 9. 2024
Publisher
Univerzita Karlova, Matematicko-fyzikální fakultaLanguage
English
Grade
Very good
Keywords (Czech)
porovnání databázových systémů|integrace dat|vyjadřovací síla dotazů|výkon dotazůKeywords (English)
database systems comparison|data integration|query expressiveness|query performanceV současné době s vysokým množstvím dostupných databázových systému je často obtížné vybrat mezi nimi ten nejlepší pro naše potřeby. V této práci se zaměříme na vý- běr výkonného databázového systému mezi PostgreSQL, Virtuoso, OrientDB, ScyllaDB, Couchbase a RavenDB, u kterých porovnáváme statické vlastnosti a dostupné funkce a přidáváme diskuzi o extrakci a transformaci dat, pro kterou vytváříme pomocnou kni- hovnu v Pythonu. Dále porovnáváme časy importů dat do databázových systému a pro stanovení nejefektivnější databáze měříme výkonnost dotazů pro několik různých velikostí datových sad a nakonec nabízíme doporučení na základě výsledků a diskutujeme další možné úvahy.
In today's landscape, with a multitude of available database systems, it is often hard to choose which one would fit our needs best. In this thesis we focus on choosing a performant database system from a choice between PostgreSQL, Virtuoso, OrientDB, ScyllaDB, Couchbase, and RavenDB. We compare the static properties and features of said database systems, and we include a brief discussion on data extraction and trans- formation, for which we developed a helper library for Python. We then assess dataset import times into each database system. To determine the most efficient database, we measure query performance across multiple dataset sizes, and finally we offer a recom- mendation based on the results, and discuss further possible considerations.