This course gives an introduction to the evolution of the data management landscape during the past 4-5 decades, with particular emphasis on relational databases and recent hardware trends.
Today, a large variety of data management systems are available to help us store, modify, and analyze data. None of these systems, however, are the best for every type of application and data processing. Knowing the foundations of database systems is therefore crucial to understand how we traditionally reason about data and data management, and how and why that reasoning has changed over time.
More specifically, the topics that will be covered are:
- The role of data management systems in modern analytics, brief history of relational databases
- E-R model, relational model, schema design, normal forms, SQL
- Trends in hardware and storage
- Database internals and data layouts
- Access methods / indexes
- Query operators, optimization, and compilation
- Transactions, concurrency control, and recovery
- Case studies and examples from today’s data management landscape: main-memory databases, key-value stores, parallel and distributed databases, streaming, etc.
Formal prerequisitesThe course is only open to BSc DS third semester. The course assumes that the students have some prior knowledge on data structures (e.g., took an Algorithms and Data Structures course). Moreover the student must always meet the admission requirements of the IT University.
Intended learning outcomes
After the course, the student should be able to:
- Select an appropriate data management system (or set of systems), access methods, and data layout given a data science use case.
- Describe the pros and cons of different (classes of) data management systems for modern analytics and data science.
- Reflect upon the landscape of data management applications/workloads and their impact on data management system design.
- Reflect upon the evolution of the hardware and storage hierarchy and its impact on data management system design.
- Explain the internals of a traditional database system.
- Query and modify data using SQL.
- Design a database using the relational model and normal form theory.
Ordinary examExam type:
X: Special exam type, external (7-trinsskala)
The assignments described under learning activities as a whole will be the hand-in for the final exam. Duration of oral exam: 20 Minutes