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 [11218]
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'kých Dát poukázal na obmedzenia relačných databáz pri spracovanível'kých datasetov, čo viedlo k nárastu NoSQL databáz. Z tohto dôvodu sa DBMS benchmarking stal kl'účovým pre hodnotenie výkonnosti a celkový rozhodovací proces. Táto práca porovnáva relačné (MySQL, SQLite), grafové (Neo4j, ArangoDB), doku- mentové (MongoDB) a stĺpcovo-orientované (Cassandra) databázy. Analyzujeme vyja- drovaciu silu ich dopytovacích jazykov a efektivitu počas behu pri rôznych vel'kostiach dát. Dospeli sme k záveru, že neexistuje žiadne riešenie "číslo jeden" pre všetky prípady použitia. Výber závisíod faktorov, ako je objem dát, zložitost' dopytov a potreba spájania. V prípade zložitých dotazov a častého spájania majú MySQL a SQLite najv̈ačšiu vy- jadrovaciu silu, avšak môžu mat' problémy s vel'mi vel'kými datasetmi. Cassandra a Mon- goDB vynikajú výkonom a škálovatel'nost'ou, ale vyžadujú efektívny návrh schématu a cielenú redundanciu dát. ArangoDB predstavuje univerzálnu možnost', ktorá dokáže pra- covat' s viacerými dátovými modelmi, ale pre hlbšie porovnanie s Neo4j sa môže vyžadovat' d'alší výskum ich vý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.