The following study materials are relevant for this course.
- Course slides: Copies of the slide decks used in the course will be made available online
- Reading list: Publications referenced in the course as well as further readings will be available on the course website
The following skills, knowledge and courses are mandatory prerequisites to attend and successfully complete this course.
- Basics of database systems: database design, query languages, database application programming, etc. (INF-12040 or equivalent)
- Principles of database systems: relational model, relational algebra, normal forms, etc. (INF-12040 or equivalent)
- Database system architecture and implementation: data storage, memory management, query processing and optimization, etc. (INF-20210 or equivalent)
- Computer systems: computer architecture, operating systems, networks, etc. (INF-11740, INF-11880, or equivalent)
- System programming: students must have the ability to program in a language appropriate for system implementation, such as C/C++, C# or Java. (INF-11930 or equivalent)
- Key competences: Subversion, LaTeX, etc. (INF-10175 or equivalent)
The final exam of this course will be conducted as a 90 minutes written exam. The exam will be weighted 50% in the final grade of this course with exercises and project work contributing another 50% of the grade.
Data Stream Management Systems (DSMS) process queries over continuous data, so-called data streams. Data streams are potentially infinite and the arrival rate and order are out of control of that data management system. Therefore, traditional Database Management Systems (DBMS) are ill-equipped to handle this type of data. Nevertheless, several interesting and important types of applications work on streaming data, for example to monitor network traffic, to manage traffic, or to analyze social media data in real-time. This course will cover a wide range of topics in the area of data stream management system. First, the course will look at typical data stream applications and their requirements. Then, example data stream management systems will be studied in terms of their architecture as well as the query language and the optimization techniques that they support. Whether and how these systems support the processing of disordered data streams is an interesting question that will be examined in detail. Finally the course will provide insights into the performance analysis and benchmarking of data stream management systems.
The course targets the following groups of students.
- Advanced Bachelor students in Computer Science or Information Engineering, who are close to graduation and meet the mandatory minimum requirements for this course
- Master students in Information Engineering or Computer and Information Science, who meet the mandatory minimum requirements
- All students, who meet the minimum requirements for this course and who plan to specialize in the area of databases and information systems by conducting a project or attending a practical course on this topic
In this course, students will learn how the characteristics and requirements of data stream management differ from traditional data management. Starting from a general understanding of the architecture of data stream management systems, students will study the algorithms and data structures that these systems use to process data streams. By doing so, students will acquire the ability to differentiate between data stream management systems and other data processing approaches. Finally, the course also imparts the knowledge required to qualitatively and quantitatively distinguish between different types of data stream management systems. Therefore, the course syllabus will enable students to make informed choices when selecting or tuning such a system for a given application.
180 hours, of which 56 hours are spent in class, 34 hours are spent on reading assignments, and another 90 hours are spent on the programming project.