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

João Carlos Gomes Moura Pires, 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

A avaliação é composta por uma componente teórico-pratica (2 testes individuais, T1 e T2, valendo 25% da classificação cada um deles) e uma componente de projecto (2 trabalhos de implementação, P1 e P2, valendo 25% da classificação cada um deles).

Os testes deverão realizar-se presencialmente se tal for possível e serão sem consulta (a não ser a eventualmente fornecida pelos docentes).

Os trabalhos práticos devem ser realizados em grupos de dois alunos, preferencialmente com a mesma constituição para os dois trabalhos. Poderá ser solicitada uma oral para apresentação dos trabalhos.

A classificação final é 0.25 * (T1 + T2 + P1 + P2) em que as classificações de T1 e T2 são arredondadas com uma casa decimal e P1 e P2 arredondadas às unidades.

Para obter aprovação é necessário que a média de T1 e T2 seja superior a 8.0 e média de P1 e P2 seja superior a 10.0.

A média de T1 e T2 pode ser substituída por um exame individual.

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: