Subject description - B4M36DS2

Summary of Study | Summary of Branches | All Subject Groups | All Subjects | List of Roles | Explanatory Notes               Instructions
B4M36DS2 Database Systems II
Roles:PS, PO Extent of teaching:2P+2C
Department:13136 Language of teaching:CS
Guarantors:Prokop Y. Completion:Z,ZK
Lecturers:Prokop Y. Credits:6
Tutors:Prokop Y. Semester:Z

Web page:

https://cw.fel.cvut.cz/wiki/courses/b4m36ds2/

Anotation:

The aim of the course is to introduce students to new trends in the field of database systems. We will focus primarily on current issues related to Big Data and the associated challenges of distributed data storage and processing. The course will present the basic types of so-called NoSQL databases, as well as related topics such as cloud computing, data warehouses, and distributed computing over large datasets.

Study targets:

The aim of the study is for students to understand the principles of modern database systems, with a focus on NoSQL databases and working with large-scale and diverse data. Students will learn to distinguish the basic types of NoSQL databases and understand their data models, querying capabilities, and typical areas of application. After completing the course, students will be able to choose an appropriate database system for a specific task, design a corresponding data model, and justify the chosen solution with regard to the nature of the data, expected queries, scaling, distribution, and performance. Emphasis is also placed on practical work with selected database systems and on the ability to compare their advantages and limitations.

Content:

The course focuses on modern trends in database systems, with an emphasis on Big Data and NoSQL databases. Students will become familiar with the basic principles of storing, managing, and processing large volumes of data in distributed environments. The main part of the course is focused on the overview, classification, and use of the basic types of NoSQL databases. Attention will be given to key-value databases, document databases, wide-column databases, and graph databases. For each database type, its basic principles, typical use cases, advantages, and limitations will be explained. The course also covers the principles of scaling, replication, data distribution, consistency, and the CAP theorem. Students will learn how these principles influence the design and operation of modern database systems. Within the broader context of working with data, the course will also introduce data formats, MapReduce, HDFS, RDF databases, query optimization, performance, and polyglot persistence.

Course outlines:

1. Introduction to Big Data and NoSQL databases
2. Comparison and classification of NoSQL databases
3. Fundamentals of Big Data management (CAP, distribution, scaling, replication)
4. Key-Value databases
5. Document databases
6. Wide-column databases
7. Graph databases – basic principles
8. Graph databases – advanced aspects
9. Advanced principles of Big Data (transactions, performance, polyglot persistence)
10. The principle of MapReduce
11. Data warehouses and Big Data
11. Cloud computing
13. Advanced principles of Big Data (transactions, performance, polyglot persistence)
14. Reserve

Exercises outline:

1. Introduction to Big Data and NoSQL databases
2. Comparison and classification of NoSQL databases
3. Data formats (XML, JSON)
4. Key-Value databases (Redis)
5. Key-Value databases (Redis, Redis Stack)
6. Document databases (MongoDB) – creating, updating, and deleting records
7. Document databases (MongoDB) – search queries
8. Document databases (MongoDB) – aggregation queries
9. Wide-column databases
10. Graph databases – basic CRUD operations
11. Graph databases – graph traversal and search
12. MapReduce and HDFS
13. Final project demonstration
14. Reserve

Literature:

1. http://nosql-database.org/
2. Pramod J. Sadalage - Martin Fowler: NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot
Persistence, 2012
3. Eric Redmond - Jim R. Wilson: Seven Databases in Seven Weeks: A Guide to Modern Databases and the NoSQL
Movement, 2012
4. Sherif Sakr - Eric Pardede: Graph Data Management: Techniques and Applications, 2011
5. Shashank Tiwari: Professional NoSQL, 2011
6. Hadoop: The Definitive Guide, by Tom White, 2nd edition, 2010
7. Martin Kleppmann. Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and
Maintainable Systems, 2017
8. Shannon Bradshaw, Eoin Brazil, Kristina Chodorow. Mongodb: The Definitive Guide: Powerful and Scalable Data,
2020
9. Jeff Carpenter, Eben Hewitt. Cassandra: The Definitive Guide. O’Reilly Media, 2016
10. Jeremy Nelson. Mastering Redis. Packt Publishing, 2016

Requirements:

To complete the course, students are required to attend practical classes, work continuously throughout the semester, and submit assigned tasks and the required milestones of the final project on time via the e-learning platform. Students must prepare the final project according to the assignment, present its results to the teacher, and successfully pass the in-person written exam. All submitted work will be checked using an anti-plagiarism system.

Keywords:

Big data, NoSQL, MapReduce, Scaling, CAP theorem, Column database, Graph database, NewSQL, Cloud computing, Data warehouses, Data generation, Benchmarking

Subject is included into these academic programs:

Program Branch Role Recommended semester
MPOI6_2018 Software Engineering PO 1
MPOI6_2026 Software Engineering PS 1
MPOI9_2018 Data Science PO 1
MPOI9_2026 Data Science PS 1


Page updated 28.5.2026 12:52:30, semester: L/2026-7, L/2027-8, L/2025-6, Z/2027-8, Z/2026-7, L/2028-9, L/2029-30, Z/2028-9, Send comments about the content to the Administrators of the Academic Programs Proposal and Realization: I. Halaška (K336), J. Novák (K336)