Processamento de Streams

Objetivos

Learn the fundamentals, languages and systems for building application that process streams of data, ranging from general purpose distributed realtime stream processing systems to structured data models for dealing with streams.

Caracterização geral

Código

11562

Créditos

6.0

Professor responsável

Nuno Manuel Ribeiro Preguiça

Horas

Semanais - 4

Totais - A disponibilizar brevemente

Idioma de ensino

Português

Pré-requisitos

A disponibilizar brevemente

Bibliografia

Opher Etzion and Peter Niblett. Event Processing in Action. Manning Publications, 2010.

Lukasz Golab and Tamer Özsu. Data Stream Management. Morgan and Claypool, 2010.

Several papers will be provide for further reading.

Método de ensino

A disponibilizar brevemente

Método de avaliação

Esquema Geral

A avaliação é composta por uma componente teórica-prática e por uma componente de projeto. 

Ambas as componentes são avaliadas numa escala de 0 a 20, arredondado a unidades.

A nota final da disciplina é a média pesada das duas componentes, na qual a componente de projeto contribui com 1/3 e a componente teórica-prática com 2/3.

Para obter aprovação à disciplina um estudante necessita ter uma classificação igual ou superior a 10 valores na componente teórica, e na nota final.

Não existem outra condições obrigatórias para obtenção de frequência 

 

Componente teórica-prática

Esta componente é obtida através de 2 testes, a realizar durante o semestre. O primeiro teste terá lugar no final da 5ª semana de aulas e o segundo perto do final do período de aulas (datas a confirmar com a comissão pedagógica do curso).

Supletivamente, esta componente pode também ser realizada por exame de recurso.

No primeiro caso a nota final da componente é a média aritmética das classificações dos dois testes arredondadas às unidades, e no segundo caso é a nota do exame

 

Componente de projeto

Desta componente fazem parte a realização, apresentação e discussão de dois trabalhos. O primeiro trabalho deverá ser entregue até ao final da 7ª semana de aulas, e o 2º trabalho até ao final das aulas (datas a confirmar com a comissão pedagógica do curso). O trabalho é feito em grupos de exactamente 2 alunos.

 

Apesar do trabalho ser feito em grupo, a nota desta componente será sempre individual (e não atribuída ao grupo). Para ela contribuem o trabalho e o relatório feitos em grupo, mas também o desempenho na apresentação oral e discussão. A nota final da componente é a média aritmética das notas indivuduais dos dois projetos.

Conteúdo

Distributed Stream Processing Systems.
System models for stream processing: streams as sequences of mini-batches (e.g. Spark streaming); continuous processing (e.g. Storm). General-purpose programming models. The problem of cyclic computations.
System aspects: distribution, scalability and fault-tolerance.

Data Stream Management Systems (DSMS).
Structured Data Models for Streams. Algebraic operators on stream and relations (continuous queries, aggregates and blocking, time windows). Continuous query languages. Languages and systems that extend SQL and database management systems to deal with data streams.

Complex Event Processing.
Streams as sequences of events. Production rules, reactive rules, and event-driven computing. Event processing networks, agents and channels. Complex and derived events. Detection of event patterns. Event-processing languages and systems.

Cursos

Cursos onde a unidade curricular é leccionada: