Big Data
Áreas Científicas |
Classificação |
Área Científica |
OFICIAL |
Informática |
Ocorrência: 2022/2023 - 1S
Ciclos de Estudo/Cursos
Sigla |
Nº de Estudantes |
Plano de Estudos |
Anos Curriculares |
Créditos UCN |
Créditos ECTS |
Horas de Contacto |
Horas Totais |
BINF |
26 |
Plano Estudos 2016 |
3 |
- |
5 |
67,5 |
135 |
Docência - Responsabilidades
Língua de trabalho
Português
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
Resultados de aprendizagem e competências
Não aplicável
Modo de trabalho
Presencial
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
Bibliografia Obrigatória
Sadalage et al.; No SQL distilled : a brief guide to the emerging world of polyglot persistence, Pearson Education, 2012
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
Bibliografia Complementar
Knaflick, N. C; Storytelling with data, Wiley, 2015
Métodos de ensino e atividades de aprendizagem
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.
Software
Pyspark
Python
MongoDb
Tipo de avaliação
Avaliação distribuída com exame final
Componentes de Avaliação
Designação |
Peso (%) |
Teste |
30,00 |
Trabalho escrito |
70,00 |
Total: |
100,00 |
Componentes de Ocupação
Designação |
Tempo (Horas) |
Estudo autónomo |
82,50 |
Frequência das aulas |
52,50 |
Total: |
135,00 |
Obtenção de frequência
Não aplicável
Fórmula de cálculo da classificação final
Por avaliação contínua
- 30%*projeto1+35%*projeto2+35%*teste
Por avaliação final
- 30%*projeto1+35%*projeto2+50%*exame
Não é aplicável o regime de avaliação de 100% por exame (ou seja, é aplicado um regime de exceção) uma vez que, de acordo com os objetivos de aprendizagem e as competências a adquirir, o estudante deverá ter uma forte componente prática na utilização das ferramentas para armazenamento e processamento de grandes quantidades de dados.