Experimental Analysis of Query Languages in Modern Database Systems
Experimentální analýza dotazovacích jazyků v moderních databázových systémech
bachelor thesis (DEFENDED)

View/ Open
Permanent link
http://hdl.handle.net/20.500.11956/192088Identifiers
Study Information System: 254987
Collections
- Kvalifikační práce [11325]
Author
Advisor
Referee
Holubová, Irena
Faculty / Institute
Faculty of Mathematics and Physics
Discipline
Computer Science with specialisation in Databases and Web
Department
Department of Software Engineering
Date of defense
28. 6. 2024
Publisher
Univerzita Karlova, Matematicko-fyzikální fakultaLanguage
English
Grade
Excellent
Keywords (Czech)
databázové systémy|výkon|benchmark|statická analýza|experimentální analýzaKeywords (English)
database management systems|performance|benchmark|static analysis|experimental analysisPrı ́chod Vel'ky ́ch Da ́t pouka ́zal na obmedzenia relac ̌ny ́ch databa ́z pri spracovanı ́vel'ky ́ch datasetov, c ̌o viedlo k na ́rastu NoSQL databa ́z. Z tohto do ̂vodu sa DBMS benchmarking stal kl'u ́c ̌ovy ́m pre hodnotenie vy ́konnosti a celkovy ́ rozhodovacı ́ proces. Ta ́to pra ́ca porovna ́va relac ̌ne ́ (MySQL, SQLite), grafove ́ (Neo4j, ArangoDB), doku- mentove ́ (MongoDB) a stl ́pcovo-orientovane ́ (Cassandra) databa ́zy. Analyzujeme vyja- drovaciu silu ich dopytovacı ́ch jazykov a efektivitu poc ̌as behu pri ro ̂znych vel'kostiach da ́t. Dospeli sme k za ́veru, z ̌e neexistuje z ̌iadne ries ̌enie "c ̌ı 'slo jeden" pre vs ̌etky prı ́pady pouz ̌itia. Vy ́ber za ́visı ́od faktorov, ako je objem da ́t, zloz ̌itost ' dopytov a potreba spa ́jania. V prı ́pade zloz ̌ity ́ch dotazov a c ̌aste ́ho spa ́jania maju ́ MySQL a SQLite najv̈ ac ̌s ̌iu vy- jadrovaciu silu, avs ̌ak mo ̂z ̌u mat ' proble ́my s vel'mi vel'ky ́mi datasetmi. Cassandra a Mon- goDB vynikaju ́ vy ́konom a s ̌ka ́lovatel'nost 'ou, ale vyz ̌aduju ́ efektı ́vny na ́vrh sche ́matu a cielenu ́ redundanciu da ́t. ArangoDB predstavuje univerza ́lnu moz ̌nost ', ktora ́ doka ́z ̌e pra- covat ' s viacery ́mi da ́tovy ́mi modelmi, ale pre hlbs ̌ie porovnanie s Neo4j sa mo ̂z ̌e vyz ̌adovat ' d'als ̌ı ́ vy 'skum ich vy ́konu.
The rise of Big Data has highlighted the limitations of relational databases while handling large datasets, leading to the growth of NoSQL databases. This has made DBMS benchmarking crucial for performance evaluation and decision-making. This thesis compares relational (MySQL, SQLite), graph (Neo4j, ArangoDB), docu- ment (MongoDB), and column-family (Cassandra) databases. We analyze the expressive power of their query languages and their runtime efficiency across varying data sizes. We conclude, that there's no "number one" solution for all use cases. The choice depends on factors like data volume, query complexity, and the need for joins. For complex queries and frequent joins, MySQL and SQLite are the most expressive but may struggle with very large datasets. Cassandra and MongoDB excel in perfor- mance and scalability but require efficient schema design and targeted data redundancy. ArangoDB presents a versatile option capable of handling multiple data models but might require further investigation into its performance compared to Neo4j.