
Big Data
-
Conhecimentos de Base Recomendados
-
-
Objetivos
Esta UC permitirá o conhecimento de ferramentas de armazenamento, processamento e visualização de grandes volumes de dados, o desenvolvimento de competências na construção e teste de algoritmos eficientes para Big Data, nomeadamente o estudo de paradigmas, modelos, ferramentas e linguagens de programação paralela.
No fim da unidade curricular o estudante deverá ser capaz de- Determinar a solução a aplicar e os instrumentos a utilizar no armazenamento, exploração e análise de um grande volume de dados
- Selecionar opções de visualização adequadas para resumir e extrair conhecimento de um grande volume de dados- Compreender o conceito de processamento paralelo e distribuído como forma de aumentar o desempenho na gestão e análise de dados
- Desenvolver algoritmos e modelos que permitam resolver problemas que explorem a gestão da concorrência, da distribuição e do paralelismo- Reconhecer as diferentes arquiteturas de hardware de suporte ao funcionamento destes algoritmos
Não aplicável -
Métodos de Ensino
As metodologias de ensino predominantes serão a exposição de conceitos, com recurso a slides e a demonstração de exemplos laboratório de informática. Os estudantes serão constantemente desafiados a resolver novos problemas, com base nos exemplos já demonstrados, e a refletir sobre os resultados e desempenho do processos de armazenamento e processamento em estudo.
-
Estágio(s)
Não
-
Programa
1.Visualização de grande volume de dados
2.Armazenamento em larga escala
Bases de dados não relacionais (chave-valor, orientadas a documentos, família de colunas, orientadas a grafos) Comparativo entre bases de dados relacionais e não relacionais
3.Modelos de Programação Paralela
Modelo de Memória Partilhada
Modelo de Threads
Memória distribuída
Modelo de passagem de mensagens
Modelo de dados paralelos
Modelo Híbridos
Single Program Multiple Data (SPMD)
Multiple Program Multiple Data (MPMD)
4. Desenho de programas paralelos
Paralelização automática vs. Manual
Particionamento
Comunicações
Sincronização
Dependências de dados
Balanceamento de carga
Granularidade
E/S
Depuração
Análise e afinação de desempenho
5.Algoritmos paralelos
Algoritmos paralelos para sequências e strings
Algoritmos paralelos para árvores e gráficos
Algoritmos paralelos para computação numérica/científica -
Demonstração de conteúdos
-
-
Demonstração da metodologia
-
-
Docente(s) responsável(eis)
-
-
Métodos de Avaliação
-
Bibliografia
Sadalage et al.; No SQL distilled : a brief guide to the emerging world of polyglot persistence, Pearson Education, 2012
Knaflick, N. C; Storytelling with data, Wiley, 2015
O'Neil, C. and Schutt, R.; Doing Data Science: Straight Talk from the Frontline, 2013
Leskovec, J., Rajaraman, A., Ullman, K.; Mining of Massive Datasets, Cambridge University Press, 2nd Ed., 2014
White, T.; Hadoop: The Definitive Guide, O'Reilly, 2015
Wilke, C. O; Data Visualisation, O’Reilly, 2019
Pacheco, P.; Introduction to Parallel Algorithms (2nd ed.), 2021
Kleppmann, M. ; Designing data-intensive applications: The big ideas behind reliable, scalable, and maintainable systems, 2017
Detalhes do curso
-
Código
BINF025-S-0-5
-
Modo de Ensino
PRESENCIAL
-
ECTS
5.0
-
Duração
Semestral
-
Horas
8h Orientação Tutorial
30h Práticas e Laboratórios
30h Teórico-Práticas