Esta disciplina ensina os aspetos fundamentais, as linguagens e os sistemas para construir aplicações que processam fluxos de dados. São tratados os sistemas genéricos de processamento em tempo real,incluindo o estudo dos variados modelos de dados para lidar com fluxos de dados.
Aprender os conceitos fundamentais, linguagens e sistemas para construir aplicações que processam fluxos de dados. A unidade curricular aborda, apresenta e discute os sistemas generalistas para processamento de streams em tempo real, e desenvolverá com especial ênfase o estudos de sistemas para modelos de dados estruturados orientados aos fluxos de dados.
Saber
A. Conhecer os principais modelos de programação para o processamento de fluxos contínuos de dados
B. Conhecer as linguagens e assimilar as características fundamentais para resolver problemas no domínio
do processamento de streams
C. Compreender as vantagens e as desvantagens das plataformas para processamento de streams.
Aplicação
A. Ser capaz de escolher os modelos, linguagens e ferramentas mais adequadas para resolver um
problema de processamento de streams
B. Set capaz de desenvolver e executar aplicações para processamento de streams usando ferramentas e tecnologias correntes.
Distributed Stream Processing Systems.
System models for stream processing: streams as sequences of mini-batches (e.g. Spark streaming); continuous processing (e.g. Apache Flink, Storm).
Programming models. System aspects: distribution, scalability and fault-tolerance.
Distributed time-series databases. Systems for IoT stream processing.
Data Stream Management Systems (DSMS).
Structured Data Models for Streams. Algebraic operators on stream and relations.
Continuous query languages (extensions to SQL and database management systems to deal with data streams).
Machine Learning for Streams.
Introduction to learning from data Dimensionality reduction for streams.
Learning under concept drift. Incremental learning.
Learning under imbalance and learning from graphs.
Opher Etzion and Peter Niblett. Event Processing in Action. Manning Publications, 2010.
Lukasz Golab and Tamer Özsu. Data Stream Management. Morgan and Claypool, 2010.
Bifet et al., (2018) Machine Learning for Data Streams, MIT Press
Several papers will be provided for further reading.
Adequate programming skills in the Python programming language.
Horas por crédito | 28 | ||
Horas p/ semana | Semanas | Horas | |
Aulas práticas e laboratoriais | 24.0 | ||
Aulas teóricas | 26.0 | ||
Avaliação | 6.0 | ||
Estudo | 40.0 | ||
Projectos e trabalhos | 66.0 | ||
Total de Horas | 162 | ||
ECTS | 6.0 |