- Relational data model, relational databases. Historical overview of alternative data models and database systems.
- Introduction to Big Data (history, features, data models).
- Basic principles of Big Data Management (CAP Theorem, distribution, scaling, replication, transactions in a distributed environment, ...).
- Overview and classification of database systems and technologies for efficient management and processing of Big Data.
- Distributed file systems.
- MapReduce - principle, properties, critique, alternative approaches.
- NoSQL databases (key / value, column, document).
- Graph data and graph databases.
- Data with multiple models. Multi-model databases. Polystores.
- SQL language in the world of Big Data. NewSQL database.
- Other types of modern databases (array databases, ...).
The aim of the course is to provide and introduction to the approaches for efficient storing and querying of Big Data.
The course will familiarize students with a wide range of related concepts and technologies and provide a deeper insight into new types of database systems.
For each type of databases, basic principles and techniques as well as practical examples will be introduced.
In the labs, the students will put into operation different types of databases and test their functionality using small applications.