| Credit Hours: | 4 |
| Course Coordinator: | N/A |
| Course Description: | Data stream management is a new and exciting area of database systems research. This course will examine the issues involved in developing Data Stream Management Systems (DSMS) to manage and query data streams in application areas such as network-security monitoring, click-stream analysis, traffic management, and environmental sensing. Topics covered include: data stream applications; architectures and operators for stream query systems; stream query optimization; languages for querying data streams; window queries; domain-specific stream systems; samples, summaries and synopses of data streams; disorder in data streams, quality-of-service management; and performance analysis and benchmarking of DSMS. Assignments include study questions over assigned readings, a short paper comparing two research articles, and a project involving DSMS implementation or measurement. Prerequisites: CS 386 or CS 586 and programming ability in a language such as Java, C, or C++. |
| Prerequisites: | Knowledge of database design, implementation, and query languages (CS 386, CS 586 or equivalent). Students must be comfortable programming in a language appropriate for systems implementation, such as Java, C, or C++. |
| Goals: | Students in this course will gain a broad understanding of current data stream research. Students will understand the need for and design of special techniques and algorithms for processing data streams. Upon the successful completion of this course, students will be able to: 1.) Describe the architecture of a Data Stream Management System and the design and implementation of specific DSMSs. 2.) Describe window queries and window query algorithms. 3.) Describe query evaluation and optimization techniques for stream queries, including window queries. 4.) Read and write queries in at least one stream query language. 5.) Describe options for handling of disordered data streams, and discuss the advantages and limitations of each. 6.) Read and understand current research papers on data stream processing. 7.) Evaluate stream query processing techniques. 8.) Develop an independent project with a team of students. 9.) Implement at least one technique for processing or benchmarking data streams. 10.) Compare and contrast approaches of different data stream techniques and systems. |
| Textbooks: | TBA. At least two books on data stream processing are in preparation, and we may use one of them in this course if it is available and suitable. Readings from the research literature will be used in addition to any textbook. |
| References: | Specific readings will be announced at the start of each quarter. |
| Major Topics: | Data Stream Management Systems (DSMS) Stream query languages (such as CQL) Stream query evaluation and optimization Operational considerations, such as physical disorder, load shedding and reliability Benchmarking of DSMS Synopses and window queries |
| Laboratory Exercises: | The course will involve a programming project. Students will be able to choose from a list of suggested projects and will generally work in groups of two-three students. Each project team will be expected to develop or modify a portion of a DSMS, or perform a performance evaluation of such a system. Course projects may involve use of the TransPort Portal under development by the Intelligent Transportation Stystems Laboratory (www.its.pdx.edu), possibly with joint teams with CE 455/555, Intelligent Transportation Systems. |
| CAC Category Credits | Core | Advanced |
| Data Structures | ||
| Algorithms | ||
| Software Design | ||
| Computer Architecture | ||
| Programming Languages |
| Oral and Written Communications: | Each student will provide written answers to study questions on assigned readings, and be prepared to discuss those readings in class. Each student will be responsible for a five-seven page paper comparing two or more systems or methods for data stream processing based on published research articles. |
| Social and Ethical Issues: | None |
| Theoretical Content: | - |
| Problem Analysis: | As part of the project in this class, students will analyze a data stream management problem and propose a solution. |
| Solution Design: | Students will design and implement a solution to a data stream management problem. |